// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*!
 * @file fusion_localization.cpp
 * This source file contains the definition of the described types in the IDL file.
 *
 * This file was generated by the tool gen.
 */

#ifdef _WIN32
// Remove linker warning LNK4221 on Visual Studio
namespace {
char dummy;
}  // namespace
#endif  // _WIN32

#include "fusion_localization.h"
#include <fastcdr/Cdr.h>

#include <fastcdr/exceptions/BadParamException.h>
using namespace eprosima::fastcdr::exception;

#include <utility>

DDS_LidarPoint::DDS_LidarPoint()
{
    // m_point_x com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6e4784bc
    m_point_x = 0;
    // m_point_y com.eprosima.idl.parser.typecode.PrimitiveTypeCode@34b7ac2f
    m_point_y = 0;
    // m_point_z com.eprosima.idl.parser.typecode.PrimitiveTypeCode@e056f20
    m_point_z = 0;
    // m_intensity com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4b0b0854
    m_intensity = 0;
    // m_time_stamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@19bb07ed
    m_time_stamp = 0;
    // m_ring com.eprosima.idl.parser.typecode.PrimitiveTypeCode@10e41621
    m_ring = 0;

}

DDS_LidarPoint::~DDS_LidarPoint()
{






}

DDS_LidarPoint::DDS_LidarPoint(
        const DDS_LidarPoint& x)
{
    m_point_x = x.m_point_x;
    m_point_y = x.m_point_y;
    m_point_z = x.m_point_z;
    m_intensity = x.m_intensity;
    m_time_stamp = x.m_time_stamp;
    m_ring = x.m_ring;
}

DDS_LidarPoint::DDS_LidarPoint(
        DDS_LidarPoint&& x)
{
    m_point_x = x.m_point_x;
    m_point_y = x.m_point_y;
    m_point_z = x.m_point_z;
    m_intensity = x.m_intensity;
    m_time_stamp = x.m_time_stamp;
    m_ring = x.m_ring;
}

DDS_LidarPoint& DDS_LidarPoint::operator =(
        const DDS_LidarPoint& x)
{

    m_point_x = x.m_point_x;
    m_point_y = x.m_point_y;
    m_point_z = x.m_point_z;
    m_intensity = x.m_intensity;
    m_time_stamp = x.m_time_stamp;
    m_ring = x.m_ring;

    return *this;
}

DDS_LidarPoint& DDS_LidarPoint::operator =(
        DDS_LidarPoint&& x)
{

    m_point_x = x.m_point_x;
    m_point_y = x.m_point_y;
    m_point_z = x.m_point_z;
    m_intensity = x.m_intensity;
    m_time_stamp = x.m_time_stamp;
    m_ring = x.m_ring;

    return *this;
}

size_t DDS_LidarPoint::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

size_t DDS_LidarPoint::getCdrSerializedSize(
        const DDS_LidarPoint& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

void DDS_LidarPoint::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_point_x;
    scdr << m_point_y;
    scdr << m_point_z;
    scdr << m_intensity;
    scdr << m_time_stamp;
    scdr << m_ring;

}

void DDS_LidarPoint::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_point_x;
    dcdr >> m_point_y;
    dcdr >> m_point_z;
    dcdr >> m_intensity;
    dcdr >> m_time_stamp;
    dcdr >> m_ring;
}

/*!
 * @brief This function sets a value in member point_x
 * @param _point_x New value for member point_x
 */
void DDS_LidarPoint::point_x(
        float _point_x)
{
    m_point_x = _point_x;
}

/*!
 * @brief This function returns the value of member point_x
 * @return Value of member point_x
 */
float DDS_LidarPoint::point_x() const
{
    return m_point_x;
}

/*!
 * @brief This function returns a reference to member point_x
 * @return Reference to member point_x
 */
float& DDS_LidarPoint::point_x()
{
    return m_point_x;
}

/*!
 * @brief This function sets a value in member point_y
 * @param _point_y New value for member point_y
 */
void DDS_LidarPoint::point_y(
        float _point_y)
{
    m_point_y = _point_y;
}

/*!
 * @brief This function returns the value of member point_y
 * @return Value of member point_y
 */
float DDS_LidarPoint::point_y() const
{
    return m_point_y;
}

/*!
 * @brief This function returns a reference to member point_y
 * @return Reference to member point_y
 */
float& DDS_LidarPoint::point_y()
{
    return m_point_y;
}

/*!
 * @brief This function sets a value in member point_z
 * @param _point_z New value for member point_z
 */
void DDS_LidarPoint::point_z(
        float _point_z)
{
    m_point_z = _point_z;
}

/*!
 * @brief This function returns the value of member point_z
 * @return Value of member point_z
 */
float DDS_LidarPoint::point_z() const
{
    return m_point_z;
}

/*!
 * @brief This function returns a reference to member point_z
 * @return Reference to member point_z
 */
float& DDS_LidarPoint::point_z()
{
    return m_point_z;
}

/*!
 * @brief This function sets a value in member intensity
 * @param _intensity New value for member intensity
 */
void DDS_LidarPoint::intensity(
        uint8_t _intensity)
{
    m_intensity = _intensity;
}

/*!
 * @brief This function returns the value of member intensity
 * @return Value of member intensity
 */
uint8_t DDS_LidarPoint::intensity() const
{
    return m_intensity;
}

/*!
 * @brief This function returns a reference to member intensity
 * @return Reference to member intensity
 */
uint8_t& DDS_LidarPoint::intensity()
{
    return m_intensity;
}

/*!
 * @brief This function sets a value in member time_stamp
 * @param _time_stamp New value for member time_stamp
 */
void DDS_LidarPoint::time_stamp(
        uint8_t _time_stamp)
{
    m_time_stamp = _time_stamp;
}

/*!
 * @brief This function returns the value of member time_stamp
 * @return Value of member time_stamp
 */
uint8_t DDS_LidarPoint::time_stamp() const
{
    return m_time_stamp;
}

/*!
 * @brief This function returns a reference to member time_stamp
 * @return Reference to member time_stamp
 */
uint8_t& DDS_LidarPoint::time_stamp()
{
    return m_time_stamp;
}

/*!
 * @brief This function sets a value in member ring
 * @param _ring New value for member ring
 */
void DDS_LidarPoint::ring(
        uint8_t _ring)
{
    m_ring = _ring;
}

/*!
 * @brief This function returns the value of member ring
 * @return Value of member ring
 */
uint8_t DDS_LidarPoint::ring() const
{
    return m_ring;
}

/*!
 * @brief This function returns a reference to member ring
 * @return Reference to member ring
 */
uint8_t& DDS_LidarPoint::ring()
{
    return m_ring;
}


size_t DDS_LidarPoint::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;









    return current_align;
}

bool DDS_LidarPoint::isKeyDefined()
{
    return false;
}

void DDS_LidarPoint::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
          
}

DDS_LidarCloud::DDS_LidarCloud()
{
    // m_stamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@68999068
    m_stamp = 0;
    // m_points com.eprosima.idl.parser.typecode.SequenceTypeCode@7722c3c3


}

DDS_LidarCloud::~DDS_LidarCloud()
{


}

DDS_LidarCloud::DDS_LidarCloud(
        const DDS_LidarCloud& x)
{
    m_stamp = x.m_stamp;
    m_points = x.m_points;
}

DDS_LidarCloud::DDS_LidarCloud(
        DDS_LidarCloud&& x)
{
    m_stamp = x.m_stamp;
    m_points = std::move(x.m_points);
}

DDS_LidarCloud& DDS_LidarCloud::operator =(
        const DDS_LidarCloud& x)
{

    m_stamp = x.m_stamp;
    m_points = x.m_points;

    return *this;
}

DDS_LidarCloud& DDS_LidarCloud::operator =(
        DDS_LidarCloud&& x)
{

    m_stamp = x.m_stamp;
    m_points = std::move(x.m_points);

    return *this;
}

size_t DDS_LidarCloud::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    for(size_t a = 0; a < 80000; ++a)
    {
        current_alignment += DDS_LidarPoint::getMaxCdrSerializedSize(current_alignment);}


    return current_alignment - initial_alignment;
}

size_t DDS_LidarCloud::getCdrSerializedSize(
        const DDS_LidarCloud& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    for(size_t a = 0; a < data.points().size(); ++a)
    {
        current_alignment += DDS_LidarPoint::getCdrSerializedSize(data.points().at(a), current_alignment);}


    return current_alignment - initial_alignment;
}

void DDS_LidarCloud::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_stamp;
    scdr << m_points;

}

void DDS_LidarCloud::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_stamp;
    dcdr >> m_points;
}

/*!
 * @brief This function sets a value in member stamp
 * @param _stamp New value for member stamp
 */
void DDS_LidarCloud::stamp(
        int64_t _stamp)
{
    m_stamp = _stamp;
}

/*!
 * @brief This function returns the value of member stamp
 * @return Value of member stamp
 */
int64_t DDS_LidarCloud::stamp() const
{
    return m_stamp;
}

/*!
 * @brief This function returns a reference to member stamp
 * @return Reference to member stamp
 */
int64_t& DDS_LidarCloud::stamp()
{
    return m_stamp;
}

/*!
 * @brief This function copies the value in member points
 * @param _points New value to be copied in member points
 */
void DDS_LidarCloud::points(
        const std::vector<DDS_LidarPoint>& _points)
{
    m_points = _points;
}

/*!
 * @brief This function moves the value in member points
 * @param _points New value to be moved in member points
 */
void DDS_LidarCloud::points(
        std::vector<DDS_LidarPoint>&& _points)
{
    m_points = std::move(_points);
}

/*!
 * @brief This function returns a constant reference to member points
 * @return Constant reference to member points
 */
const std::vector<DDS_LidarPoint>& DDS_LidarCloud::points() const
{
    return m_points;
}

/*!
 * @brief This function returns a reference to member points
 * @return Reference to member points
 */
std::vector<DDS_LidarPoint>& DDS_LidarCloud::points()
{
    return m_points;
}

size_t DDS_LidarCloud::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;





    return current_align;
}

bool DDS_LidarCloud::isKeyDefined()
{
    return false;
}

void DDS_LidarCloud::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
      
}

tmdesc_imu::tmdesc_imu()
{
    // m_tm_sec_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@50eac852
    m_tm_sec_imu = 0;
    // m_tm_min_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@16ec5519
    m_tm_min_imu = 0;
    // m_tm_hour_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@2f7298b
    m_tm_hour_imu = 0;
    // m_tm_mday_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@188715b5
    m_tm_mday_imu = 0;
    // m_tm_mon_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1ea9f6af
    m_tm_mon_imu = 0;
    // m_tm_year_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6a192cfe
    m_tm_year_imu = 0;
    // m_tm_wday_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5119fb47
    m_tm_wday_imu = 0;
    // m_tm_yday_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7193666c
    m_tm_yday_imu = 0;
    // m_tm_isdst_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@20deea7f
    m_tm_isdst_imu = 0;
    // m_tm_gmtoff_imu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3835c46
    m_tm_gmtoff_imu = 0;
    // m_tm_zone_imu com.eprosima.idl.parser.typecode.ArrayTypeCode@1dde4cb2
    memset(&m_tm_zone_imu, 0, (20) * 1);

}

tmdesc_imu::~tmdesc_imu()
{











}

tmdesc_imu::tmdesc_imu(
        const tmdesc_imu& x)
{
    m_tm_sec_imu = x.m_tm_sec_imu;
    m_tm_min_imu = x.m_tm_min_imu;
    m_tm_hour_imu = x.m_tm_hour_imu;
    m_tm_mday_imu = x.m_tm_mday_imu;
    m_tm_mon_imu = x.m_tm_mon_imu;
    m_tm_year_imu = x.m_tm_year_imu;
    m_tm_wday_imu = x.m_tm_wday_imu;
    m_tm_yday_imu = x.m_tm_yday_imu;
    m_tm_isdst_imu = x.m_tm_isdst_imu;
    m_tm_gmtoff_imu = x.m_tm_gmtoff_imu;
    m_tm_zone_imu = x.m_tm_zone_imu;
}

tmdesc_imu::tmdesc_imu(
        tmdesc_imu&& x)
{
    m_tm_sec_imu = x.m_tm_sec_imu;
    m_tm_min_imu = x.m_tm_min_imu;
    m_tm_hour_imu = x.m_tm_hour_imu;
    m_tm_mday_imu = x.m_tm_mday_imu;
    m_tm_mon_imu = x.m_tm_mon_imu;
    m_tm_year_imu = x.m_tm_year_imu;
    m_tm_wday_imu = x.m_tm_wday_imu;
    m_tm_yday_imu = x.m_tm_yday_imu;
    m_tm_isdst_imu = x.m_tm_isdst_imu;
    m_tm_gmtoff_imu = x.m_tm_gmtoff_imu;
    m_tm_zone_imu = std::move(x.m_tm_zone_imu);
}

tmdesc_imu& tmdesc_imu::operator =(
        const tmdesc_imu& x)
{

    m_tm_sec_imu = x.m_tm_sec_imu;
    m_tm_min_imu = x.m_tm_min_imu;
    m_tm_hour_imu = x.m_tm_hour_imu;
    m_tm_mday_imu = x.m_tm_mday_imu;
    m_tm_mon_imu = x.m_tm_mon_imu;
    m_tm_year_imu = x.m_tm_year_imu;
    m_tm_wday_imu = x.m_tm_wday_imu;
    m_tm_yday_imu = x.m_tm_yday_imu;
    m_tm_isdst_imu = x.m_tm_isdst_imu;
    m_tm_gmtoff_imu = x.m_tm_gmtoff_imu;
    m_tm_zone_imu = x.m_tm_zone_imu;

    return *this;
}

tmdesc_imu& tmdesc_imu::operator =(
        tmdesc_imu&& x)
{

    m_tm_sec_imu = x.m_tm_sec_imu;
    m_tm_min_imu = x.m_tm_min_imu;
    m_tm_hour_imu = x.m_tm_hour_imu;
    m_tm_mday_imu = x.m_tm_mday_imu;
    m_tm_mon_imu = x.m_tm_mon_imu;
    m_tm_year_imu = x.m_tm_year_imu;
    m_tm_wday_imu = x.m_tm_wday_imu;
    m_tm_yday_imu = x.m_tm_yday_imu;
    m_tm_isdst_imu = x.m_tm_isdst_imu;
    m_tm_gmtoff_imu = x.m_tm_gmtoff_imu;
    m_tm_zone_imu = std::move(x.m_tm_zone_imu);

    return *this;
}

size_t tmdesc_imu::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += ((20) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

size_t tmdesc_imu::getCdrSerializedSize(
        const tmdesc_imu& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    if ((20) > 0)
    {
        current_alignment += ((20) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);
    }


    return current_alignment - initial_alignment;
}

void tmdesc_imu::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_tm_sec_imu;
    scdr << m_tm_min_imu;
    scdr << m_tm_hour_imu;
    scdr << m_tm_mday_imu;
    scdr << m_tm_mon_imu;
    scdr << m_tm_year_imu;
    scdr << m_tm_wday_imu;
    scdr << m_tm_yday_imu;
    scdr << m_tm_isdst_imu;
    scdr << m_tm_gmtoff_imu;
    scdr << m_tm_zone_imu;


}

void tmdesc_imu::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_tm_sec_imu;
    dcdr >> m_tm_min_imu;
    dcdr >> m_tm_hour_imu;
    dcdr >> m_tm_mday_imu;
    dcdr >> m_tm_mon_imu;
    dcdr >> m_tm_year_imu;
    dcdr >> m_tm_wday_imu;
    dcdr >> m_tm_yday_imu;
    dcdr >> m_tm_isdst_imu;
    dcdr >> m_tm_gmtoff_imu;
    dcdr >> m_tm_zone_imu;

}

/*!
 * @brief This function sets a value in member tm_sec_imu
 * @param _tm_sec_imu New value for member tm_sec_imu
 */
void tmdesc_imu::tm_sec_imu(
        int16_t _tm_sec_imu)
{
    m_tm_sec_imu = _tm_sec_imu;
}

/*!
 * @brief This function returns the value of member tm_sec_imu
 * @return Value of member tm_sec_imu
 */
int16_t tmdesc_imu::tm_sec_imu() const
{
    return m_tm_sec_imu;
}

/*!
 * @brief This function returns a reference to member tm_sec_imu
 * @return Reference to member tm_sec_imu
 */
int16_t& tmdesc_imu::tm_sec_imu()
{
    return m_tm_sec_imu;
}

/*!
 * @brief This function sets a value in member tm_min_imu
 * @param _tm_min_imu New value for member tm_min_imu
 */
void tmdesc_imu::tm_min_imu(
        int16_t _tm_min_imu)
{
    m_tm_min_imu = _tm_min_imu;
}

/*!
 * @brief This function returns the value of member tm_min_imu
 * @return Value of member tm_min_imu
 */
int16_t tmdesc_imu::tm_min_imu() const
{
    return m_tm_min_imu;
}

/*!
 * @brief This function returns a reference to member tm_min_imu
 * @return Reference to member tm_min_imu
 */
int16_t& tmdesc_imu::tm_min_imu()
{
    return m_tm_min_imu;
}

/*!
 * @brief This function sets a value in member tm_hour_imu
 * @param _tm_hour_imu New value for member tm_hour_imu
 */
void tmdesc_imu::tm_hour_imu(
        int16_t _tm_hour_imu)
{
    m_tm_hour_imu = _tm_hour_imu;
}

/*!
 * @brief This function returns the value of member tm_hour_imu
 * @return Value of member tm_hour_imu
 */
int16_t tmdesc_imu::tm_hour_imu() const
{
    return m_tm_hour_imu;
}

/*!
 * @brief This function returns a reference to member tm_hour_imu
 * @return Reference to member tm_hour_imu
 */
int16_t& tmdesc_imu::tm_hour_imu()
{
    return m_tm_hour_imu;
}

/*!
 * @brief This function sets a value in member tm_mday_imu
 * @param _tm_mday_imu New value for member tm_mday_imu
 */
void tmdesc_imu::tm_mday_imu(
        int16_t _tm_mday_imu)
{
    m_tm_mday_imu = _tm_mday_imu;
}

/*!
 * @brief This function returns the value of member tm_mday_imu
 * @return Value of member tm_mday_imu
 */
int16_t tmdesc_imu::tm_mday_imu() const
{
    return m_tm_mday_imu;
}

/*!
 * @brief This function returns a reference to member tm_mday_imu
 * @return Reference to member tm_mday_imu
 */
int16_t& tmdesc_imu::tm_mday_imu()
{
    return m_tm_mday_imu;
}

/*!
 * @brief This function sets a value in member tm_mon_imu
 * @param _tm_mon_imu New value for member tm_mon_imu
 */
void tmdesc_imu::tm_mon_imu(
        int16_t _tm_mon_imu)
{
    m_tm_mon_imu = _tm_mon_imu;
}

/*!
 * @brief This function returns the value of member tm_mon_imu
 * @return Value of member tm_mon_imu
 */
int16_t tmdesc_imu::tm_mon_imu() const
{
    return m_tm_mon_imu;
}

/*!
 * @brief This function returns a reference to member tm_mon_imu
 * @return Reference to member tm_mon_imu
 */
int16_t& tmdesc_imu::tm_mon_imu()
{
    return m_tm_mon_imu;
}

/*!
 * @brief This function sets a value in member tm_year_imu
 * @param _tm_year_imu New value for member tm_year_imu
 */
void tmdesc_imu::tm_year_imu(
        int16_t _tm_year_imu)
{
    m_tm_year_imu = _tm_year_imu;
}

/*!
 * @brief This function returns the value of member tm_year_imu
 * @return Value of member tm_year_imu
 */
int16_t tmdesc_imu::tm_year_imu() const
{
    return m_tm_year_imu;
}

/*!
 * @brief This function returns a reference to member tm_year_imu
 * @return Reference to member tm_year_imu
 */
int16_t& tmdesc_imu::tm_year_imu()
{
    return m_tm_year_imu;
}

/*!
 * @brief This function sets a value in member tm_wday_imu
 * @param _tm_wday_imu New value for member tm_wday_imu
 */
void tmdesc_imu::tm_wday_imu(
        int16_t _tm_wday_imu)
{
    m_tm_wday_imu = _tm_wday_imu;
}

/*!
 * @brief This function returns the value of member tm_wday_imu
 * @return Value of member tm_wday_imu
 */
int16_t tmdesc_imu::tm_wday_imu() const
{
    return m_tm_wday_imu;
}

/*!
 * @brief This function returns a reference to member tm_wday_imu
 * @return Reference to member tm_wday_imu
 */
int16_t& tmdesc_imu::tm_wday_imu()
{
    return m_tm_wday_imu;
}

/*!
 * @brief This function sets a value in member tm_yday_imu
 * @param _tm_yday_imu New value for member tm_yday_imu
 */
void tmdesc_imu::tm_yday_imu(
        int16_t _tm_yday_imu)
{
    m_tm_yday_imu = _tm_yday_imu;
}

/*!
 * @brief This function returns the value of member tm_yday_imu
 * @return Value of member tm_yday_imu
 */
int16_t tmdesc_imu::tm_yday_imu() const
{
    return m_tm_yday_imu;
}

/*!
 * @brief This function returns a reference to member tm_yday_imu
 * @return Reference to member tm_yday_imu
 */
int16_t& tmdesc_imu::tm_yday_imu()
{
    return m_tm_yday_imu;
}

/*!
 * @brief This function sets a value in member tm_isdst_imu
 * @param _tm_isdst_imu New value for member tm_isdst_imu
 */
void tmdesc_imu::tm_isdst_imu(
        int16_t _tm_isdst_imu)
{
    m_tm_isdst_imu = _tm_isdst_imu;
}

/*!
 * @brief This function returns the value of member tm_isdst_imu
 * @return Value of member tm_isdst_imu
 */
int16_t tmdesc_imu::tm_isdst_imu() const
{
    return m_tm_isdst_imu;
}

/*!
 * @brief This function returns a reference to member tm_isdst_imu
 * @return Reference to member tm_isdst_imu
 */
int16_t& tmdesc_imu::tm_isdst_imu()
{
    return m_tm_isdst_imu;
}

/*!
 * @brief This function sets a value in member tm_gmtoff_imu
 * @param _tm_gmtoff_imu New value for member tm_gmtoff_imu
 */
void tmdesc_imu::tm_gmtoff_imu(
        int32_t _tm_gmtoff_imu)
{
    m_tm_gmtoff_imu = _tm_gmtoff_imu;
}

/*!
 * @brief This function returns the value of member tm_gmtoff_imu
 * @return Value of member tm_gmtoff_imu
 */
int32_t tmdesc_imu::tm_gmtoff_imu() const
{
    return m_tm_gmtoff_imu;
}

/*!
 * @brief This function returns a reference to member tm_gmtoff_imu
 * @return Reference to member tm_gmtoff_imu
 */
int32_t& tmdesc_imu::tm_gmtoff_imu()
{
    return m_tm_gmtoff_imu;
}

/*!
 * @brief This function copies the value in member tm_zone_imu
 * @param _tm_zone_imu New value to be copied in member tm_zone_imu
 */
void tmdesc_imu::tm_zone_imu(
        const std::array<char, 20>& _tm_zone_imu)
{
    m_tm_zone_imu = _tm_zone_imu;
}

/*!
 * @brief This function moves the value in member tm_zone_imu
 * @param _tm_zone_imu New value to be moved in member tm_zone_imu
 */
void tmdesc_imu::tm_zone_imu(
        std::array<char, 20>&& _tm_zone_imu)
{
    m_tm_zone_imu = std::move(_tm_zone_imu);
}

/*!
 * @brief This function returns a constant reference to member tm_zone_imu
 * @return Constant reference to member tm_zone_imu
 */
const std::array<char, 20>& tmdesc_imu::tm_zone_imu() const
{
    return m_tm_zone_imu;
}

/*!
 * @brief This function returns a reference to member tm_zone_imu
 * @return Reference to member tm_zone_imu
 */
std::array<char, 20>& tmdesc_imu::tm_zone_imu()
{
    return m_tm_zone_imu;
}

size_t tmdesc_imu::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;














    return current_align;
}

bool tmdesc_imu::isKeyDefined()
{
    return false;
}

void tmdesc_imu::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
               
}

tmdesc::tmdesc()
{
    // m_tm_sec com.eprosima.idl.parser.typecode.PrimitiveTypeCode@393671df
    m_tm_sec = 0;
    // m_tm_min com.eprosima.idl.parser.typecode.PrimitiveTypeCode@56620197
    m_tm_min = 0;
    // m_tm_hour com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6eda5c9
    m_tm_hour = 0;
    // m_tm_mday com.eprosima.idl.parser.typecode.PrimitiveTypeCode@55b7a4e0
    m_tm_mday = 0;
    // m_tm_mon com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5f058f00
    m_tm_mon = 0;
    // m_tm_year com.eprosima.idl.parser.typecode.PrimitiveTypeCode@192d43ce
    m_tm_year = 0;
    // m_tm_wday com.eprosima.idl.parser.typecode.PrimitiveTypeCode@72057ecf
    m_tm_wday = 0;
    // m_tm_yday com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1afd44cb
    m_tm_yday = 0;
    // m_tm_isdst com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6973b51b
    m_tm_isdst = 0;
    // m_tm_gmtoff com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1ab3a8c8
    m_tm_gmtoff = 0;
    // m_tm_zone com.eprosima.idl.parser.typecode.ArrayTypeCode@43195e57
    memset(&m_tm_zone, 0, (20) * 1);

}

tmdesc::~tmdesc()
{











}

tmdesc::tmdesc(
        const tmdesc& x)
{
    m_tm_sec = x.m_tm_sec;
    m_tm_min = x.m_tm_min;
    m_tm_hour = x.m_tm_hour;
    m_tm_mday = x.m_tm_mday;
    m_tm_mon = x.m_tm_mon;
    m_tm_year = x.m_tm_year;
    m_tm_wday = x.m_tm_wday;
    m_tm_yday = x.m_tm_yday;
    m_tm_isdst = x.m_tm_isdst;
    m_tm_gmtoff = x.m_tm_gmtoff;
    m_tm_zone = x.m_tm_zone;
}

tmdesc::tmdesc(
        tmdesc&& x)
{
    m_tm_sec = x.m_tm_sec;
    m_tm_min = x.m_tm_min;
    m_tm_hour = x.m_tm_hour;
    m_tm_mday = x.m_tm_mday;
    m_tm_mon = x.m_tm_mon;
    m_tm_year = x.m_tm_year;
    m_tm_wday = x.m_tm_wday;
    m_tm_yday = x.m_tm_yday;
    m_tm_isdst = x.m_tm_isdst;
    m_tm_gmtoff = x.m_tm_gmtoff;
    m_tm_zone = std::move(x.m_tm_zone);
}

tmdesc& tmdesc::operator =(
        const tmdesc& x)
{

    m_tm_sec = x.m_tm_sec;
    m_tm_min = x.m_tm_min;
    m_tm_hour = x.m_tm_hour;
    m_tm_mday = x.m_tm_mday;
    m_tm_mon = x.m_tm_mon;
    m_tm_year = x.m_tm_year;
    m_tm_wday = x.m_tm_wday;
    m_tm_yday = x.m_tm_yday;
    m_tm_isdst = x.m_tm_isdst;
    m_tm_gmtoff = x.m_tm_gmtoff;
    m_tm_zone = x.m_tm_zone;

    return *this;
}

tmdesc& tmdesc::operator =(
        tmdesc&& x)
{

    m_tm_sec = x.m_tm_sec;
    m_tm_min = x.m_tm_min;
    m_tm_hour = x.m_tm_hour;
    m_tm_mday = x.m_tm_mday;
    m_tm_mon = x.m_tm_mon;
    m_tm_year = x.m_tm_year;
    m_tm_wday = x.m_tm_wday;
    m_tm_yday = x.m_tm_yday;
    m_tm_isdst = x.m_tm_isdst;
    m_tm_gmtoff = x.m_tm_gmtoff;
    m_tm_zone = std::move(x.m_tm_zone);

    return *this;
}

size_t tmdesc::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += ((20) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

size_t tmdesc::getCdrSerializedSize(
        const tmdesc& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    if ((20) > 0)
    {
        current_alignment += ((20) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);
    }


    return current_alignment - initial_alignment;
}

void tmdesc::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_tm_sec;
    scdr << m_tm_min;
    scdr << m_tm_hour;
    scdr << m_tm_mday;
    scdr << m_tm_mon;
    scdr << m_tm_year;
    scdr << m_tm_wday;
    scdr << m_tm_yday;
    scdr << m_tm_isdst;
    scdr << m_tm_gmtoff;
    scdr << m_tm_zone;


}

void tmdesc::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_tm_sec;
    dcdr >> m_tm_min;
    dcdr >> m_tm_hour;
    dcdr >> m_tm_mday;
    dcdr >> m_tm_mon;
    dcdr >> m_tm_year;
    dcdr >> m_tm_wday;
    dcdr >> m_tm_yday;
    dcdr >> m_tm_isdst;
    dcdr >> m_tm_gmtoff;
    dcdr >> m_tm_zone;

}

/*!
 * @brief This function sets a value in member tm_sec
 * @param _tm_sec New value for member tm_sec
 */
void tmdesc::tm_sec(
        int16_t _tm_sec)
{
    m_tm_sec = _tm_sec;
}

/*!
 * @brief This function returns the value of member tm_sec
 * @return Value of member tm_sec
 */
int16_t tmdesc::tm_sec() const
{
    return m_tm_sec;
}

/*!
 * @brief This function returns a reference to member tm_sec
 * @return Reference to member tm_sec
 */
int16_t& tmdesc::tm_sec()
{
    return m_tm_sec;
}

/*!
 * @brief This function sets a value in member tm_min
 * @param _tm_min New value for member tm_min
 */
void tmdesc::tm_min(
        int16_t _tm_min)
{
    m_tm_min = _tm_min;
}

/*!
 * @brief This function returns the value of member tm_min
 * @return Value of member tm_min
 */
int16_t tmdesc::tm_min() const
{
    return m_tm_min;
}

/*!
 * @brief This function returns a reference to member tm_min
 * @return Reference to member tm_min
 */
int16_t& tmdesc::tm_min()
{
    return m_tm_min;
}

/*!
 * @brief This function sets a value in member tm_hour
 * @param _tm_hour New value for member tm_hour
 */
void tmdesc::tm_hour(
        int16_t _tm_hour)
{
    m_tm_hour = _tm_hour;
}

/*!
 * @brief This function returns the value of member tm_hour
 * @return Value of member tm_hour
 */
int16_t tmdesc::tm_hour() const
{
    return m_tm_hour;
}

/*!
 * @brief This function returns a reference to member tm_hour
 * @return Reference to member tm_hour
 */
int16_t& tmdesc::tm_hour()
{
    return m_tm_hour;
}

/*!
 * @brief This function sets a value in member tm_mday
 * @param _tm_mday New value for member tm_mday
 */
void tmdesc::tm_mday(
        int16_t _tm_mday)
{
    m_tm_mday = _tm_mday;
}

/*!
 * @brief This function returns the value of member tm_mday
 * @return Value of member tm_mday
 */
int16_t tmdesc::tm_mday() const
{
    return m_tm_mday;
}

/*!
 * @brief This function returns a reference to member tm_mday
 * @return Reference to member tm_mday
 */
int16_t& tmdesc::tm_mday()
{
    return m_tm_mday;
}

/*!
 * @brief This function sets a value in member tm_mon
 * @param _tm_mon New value for member tm_mon
 */
void tmdesc::tm_mon(
        int16_t _tm_mon)
{
    m_tm_mon = _tm_mon;
}

/*!
 * @brief This function returns the value of member tm_mon
 * @return Value of member tm_mon
 */
int16_t tmdesc::tm_mon() const
{
    return m_tm_mon;
}

/*!
 * @brief This function returns a reference to member tm_mon
 * @return Reference to member tm_mon
 */
int16_t& tmdesc::tm_mon()
{
    return m_tm_mon;
}

/*!
 * @brief This function sets a value in member tm_year
 * @param _tm_year New value for member tm_year
 */
void tmdesc::tm_year(
        int16_t _tm_year)
{
    m_tm_year = _tm_year;
}

/*!
 * @brief This function returns the value of member tm_year
 * @return Value of member tm_year
 */
int16_t tmdesc::tm_year() const
{
    return m_tm_year;
}

/*!
 * @brief This function returns a reference to member tm_year
 * @return Reference to member tm_year
 */
int16_t& tmdesc::tm_year()
{
    return m_tm_year;
}

/*!
 * @brief This function sets a value in member tm_wday
 * @param _tm_wday New value for member tm_wday
 */
void tmdesc::tm_wday(
        int16_t _tm_wday)
{
    m_tm_wday = _tm_wday;
}

/*!
 * @brief This function returns the value of member tm_wday
 * @return Value of member tm_wday
 */
int16_t tmdesc::tm_wday() const
{
    return m_tm_wday;
}

/*!
 * @brief This function returns a reference to member tm_wday
 * @return Reference to member tm_wday
 */
int16_t& tmdesc::tm_wday()
{
    return m_tm_wday;
}

/*!
 * @brief This function sets a value in member tm_yday
 * @param _tm_yday New value for member tm_yday
 */
void tmdesc::tm_yday(
        int16_t _tm_yday)
{
    m_tm_yday = _tm_yday;
}

/*!
 * @brief This function returns the value of member tm_yday
 * @return Value of member tm_yday
 */
int16_t tmdesc::tm_yday() const
{
    return m_tm_yday;
}

/*!
 * @brief This function returns a reference to member tm_yday
 * @return Reference to member tm_yday
 */
int16_t& tmdesc::tm_yday()
{
    return m_tm_yday;
}

/*!
 * @brief This function sets a value in member tm_isdst
 * @param _tm_isdst New value for member tm_isdst
 */
void tmdesc::tm_isdst(
        int16_t _tm_isdst)
{
    m_tm_isdst = _tm_isdst;
}

/*!
 * @brief This function returns the value of member tm_isdst
 * @return Value of member tm_isdst
 */
int16_t tmdesc::tm_isdst() const
{
    return m_tm_isdst;
}

/*!
 * @brief This function returns a reference to member tm_isdst
 * @return Reference to member tm_isdst
 */
int16_t& tmdesc::tm_isdst()
{
    return m_tm_isdst;
}

/*!
 * @brief This function sets a value in member tm_gmtoff
 * @param _tm_gmtoff New value for member tm_gmtoff
 */
void tmdesc::tm_gmtoff(
        int32_t _tm_gmtoff)
{
    m_tm_gmtoff = _tm_gmtoff;
}

/*!
 * @brief This function returns the value of member tm_gmtoff
 * @return Value of member tm_gmtoff
 */
int32_t tmdesc::tm_gmtoff() const
{
    return m_tm_gmtoff;
}

/*!
 * @brief This function returns a reference to member tm_gmtoff
 * @return Reference to member tm_gmtoff
 */
int32_t& tmdesc::tm_gmtoff()
{
    return m_tm_gmtoff;
}

/*!
 * @brief This function copies the value in member tm_zone
 * @param _tm_zone New value to be copied in member tm_zone
 */
void tmdesc::tm_zone(
        const std::array<char, 20>& _tm_zone)
{
    m_tm_zone = _tm_zone;
}

/*!
 * @brief This function moves the value in member tm_zone
 * @param _tm_zone New value to be moved in member tm_zone
 */
void tmdesc::tm_zone(
        std::array<char, 20>&& _tm_zone)
{
    m_tm_zone = std::move(_tm_zone);
}

/*!
 * @brief This function returns a constant reference to member tm_zone
 * @return Constant reference to member tm_zone
 */
const std::array<char, 20>& tmdesc::tm_zone() const
{
    return m_tm_zone;
}

/*!
 * @brief This function returns a reference to member tm_zone
 * @return Reference to member tm_zone
 */
std::array<char, 20>& tmdesc::tm_zone()
{
    return m_tm_zone;
}

size_t tmdesc::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;














    return current_align;
}

bool tmdesc::isKeyDefined()
{
    return false;
}

void tmdesc::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
               
}

GpsImuInfo::GpsImuInfo()
{
    // m_gps_week com.eprosima.idl.parser.typecode.PrimitiveTypeCode@333291e3
    m_gps_week = 0;
    // m_gps_time com.eprosima.idl.parser.typecode.PrimitiveTypeCode@479d31f3
    m_gps_time = 0.0;
    // m_time_record com.eprosima.fastdds.idl.parser.typecode.StructTypeCode@40ef3420

    // m_time_year com.eprosima.idl.parser.typecode.PrimitiveTypeCode@498d318c
    m_time_year = 0.0;
    // m_time_month com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6e171cd7
    m_time_month = 0;
    // m_time_day com.eprosima.idl.parser.typecode.PrimitiveTypeCode@402bba4f
    m_time_day = 0;
    // m_time_hour com.eprosima.idl.parser.typecode.PrimitiveTypeCode@795cd85e
    m_time_hour = 0;
    // m_time_minute com.eprosima.idl.parser.typecode.PrimitiveTypeCode@59fd97a8
    m_time_minute = 0;
    // m_time_second com.eprosima.idl.parser.typecode.PrimitiveTypeCode@f5ac9e4
    m_time_second = 0;
    // m_gps_msec com.eprosima.idl.parser.typecode.PrimitiveTypeCode@123ef382
    m_gps_msec = 0;
    // m_gps_rtk_status com.eprosima.idl.parser.typecode.PrimitiveTypeCode@dbf57b3
    m_gps_rtk_status = 0;
    // m_gps_lat com.eprosima.idl.parser.typecode.PrimitiveTypeCode@384ad17b
    m_gps_lat = 0.0;
    // m_gps_lng com.eprosima.idl.parser.typecode.PrimitiveTypeCode@61862a7f
    m_gps_lng = 0.0;
    // m_gps_heading com.eprosima.idl.parser.typecode.PrimitiveTypeCode@441772e
    m_gps_heading = 0.0;
    // m_gps_ve com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7334aada
    m_gps_ve = 0.0;
    // m_gps_vn com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1d9b7cce
    m_gps_vn = 0.0;
    // m_gps_vd com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4d9e68d0
    m_gps_vd = 0.0;
    // m_gps_speed com.eprosima.idl.parser.typecode.PrimitiveTypeCode@42e99e4a
    m_gps_speed = 0.0;
    // m_gps_days_to_speed com.eprosima.idl.parser.typecode.PrimitiveTypeCode@14dd9eb7
    m_gps_days_to_speed = 0.0;
    // m_gps_height com.eprosima.idl.parser.typecode.PrimitiveTypeCode@52e6fdee
    m_gps_height = 0.0;
    // m_imu_acc_y com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6c80d78a
    m_imu_acc_y = 0.0;
    // m_imu_acc_x com.eprosima.idl.parser.typecode.PrimitiveTypeCode@62150f9e
    m_imu_acc_x = 0.0;
    // m_imu_yaw_z com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1a451d4d
    m_imu_yaw_z = 0.0;
    // m_imu_v_y com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7fa98a66
    m_imu_v_y = 0.0;
    // m_imu_v_x com.eprosima.idl.parser.typecode.PrimitiveTypeCode@15ff3e9e
    m_imu_v_x = 0.0;
    // m_imu_v_z com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5fdcaa40
    m_imu_v_z = 0.0;
    // m_gps_satellite_front com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6dc17b83
    m_gps_satellite_front = 0;
    // m_gps_satellite_rear com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5e0826e7
    m_gps_satellite_rear = 0;
    // m_gps_yaw com.eprosima.idl.parser.typecode.PrimitiveTypeCode@32eff876
    m_gps_yaw = 0.0;
    // m_gps_roll com.eprosima.idl.parser.typecode.PrimitiveTypeCode@8dbdac1
    m_gps_roll = 0.0;
    // m_gps_pitch com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6e20b53a
    m_gps_pitch = 0.0;

}

GpsImuInfo::~GpsImuInfo()
{































}

GpsImuInfo::GpsImuInfo(
        const GpsImuInfo& x)
{
    m_gps_week = x.m_gps_week;
    m_gps_time = x.m_gps_time;
    m_time_record = x.m_time_record;
    m_time_year = x.m_time_year;
    m_time_month = x.m_time_month;
    m_time_day = x.m_time_day;
    m_time_hour = x.m_time_hour;
    m_time_minute = x.m_time_minute;
    m_time_second = x.m_time_second;
    m_gps_msec = x.m_gps_msec;
    m_gps_rtk_status = x.m_gps_rtk_status;
    m_gps_lat = x.m_gps_lat;
    m_gps_lng = x.m_gps_lng;
    m_gps_heading = x.m_gps_heading;
    m_gps_ve = x.m_gps_ve;
    m_gps_vn = x.m_gps_vn;
    m_gps_vd = x.m_gps_vd;
    m_gps_speed = x.m_gps_speed;
    m_gps_days_to_speed = x.m_gps_days_to_speed;
    m_gps_height = x.m_gps_height;
    m_imu_acc_y = x.m_imu_acc_y;
    m_imu_acc_x = x.m_imu_acc_x;
    m_imu_yaw_z = x.m_imu_yaw_z;
    m_imu_v_y = x.m_imu_v_y;
    m_imu_v_x = x.m_imu_v_x;
    m_imu_v_z = x.m_imu_v_z;
    m_gps_satellite_front = x.m_gps_satellite_front;
    m_gps_satellite_rear = x.m_gps_satellite_rear;
    m_gps_yaw = x.m_gps_yaw;
    m_gps_roll = x.m_gps_roll;
    m_gps_pitch = x.m_gps_pitch;
}

GpsImuInfo::GpsImuInfo(
        GpsImuInfo&& x)
{
    m_gps_week = x.m_gps_week;
    m_gps_time = x.m_gps_time;
    m_time_record = std::move(x.m_time_record);
    m_time_year = x.m_time_year;
    m_time_month = x.m_time_month;
    m_time_day = x.m_time_day;
    m_time_hour = x.m_time_hour;
    m_time_minute = x.m_time_minute;
    m_time_second = x.m_time_second;
    m_gps_msec = x.m_gps_msec;
    m_gps_rtk_status = x.m_gps_rtk_status;
    m_gps_lat = x.m_gps_lat;
    m_gps_lng = x.m_gps_lng;
    m_gps_heading = x.m_gps_heading;
    m_gps_ve = x.m_gps_ve;
    m_gps_vn = x.m_gps_vn;
    m_gps_vd = x.m_gps_vd;
    m_gps_speed = x.m_gps_speed;
    m_gps_days_to_speed = x.m_gps_days_to_speed;
    m_gps_height = x.m_gps_height;
    m_imu_acc_y = x.m_imu_acc_y;
    m_imu_acc_x = x.m_imu_acc_x;
    m_imu_yaw_z = x.m_imu_yaw_z;
    m_imu_v_y = x.m_imu_v_y;
    m_imu_v_x = x.m_imu_v_x;
    m_imu_v_z = x.m_imu_v_z;
    m_gps_satellite_front = x.m_gps_satellite_front;
    m_gps_satellite_rear = x.m_gps_satellite_rear;
    m_gps_yaw = x.m_gps_yaw;
    m_gps_roll = x.m_gps_roll;
    m_gps_pitch = x.m_gps_pitch;
}

GpsImuInfo& GpsImuInfo::operator =(
        const GpsImuInfo& x)
{

    m_gps_week = x.m_gps_week;
    m_gps_time = x.m_gps_time;
    m_time_record = x.m_time_record;
    m_time_year = x.m_time_year;
    m_time_month = x.m_time_month;
    m_time_day = x.m_time_day;
    m_time_hour = x.m_time_hour;
    m_time_minute = x.m_time_minute;
    m_time_second = x.m_time_second;
    m_gps_msec = x.m_gps_msec;
    m_gps_rtk_status = x.m_gps_rtk_status;
    m_gps_lat = x.m_gps_lat;
    m_gps_lng = x.m_gps_lng;
    m_gps_heading = x.m_gps_heading;
    m_gps_ve = x.m_gps_ve;
    m_gps_vn = x.m_gps_vn;
    m_gps_vd = x.m_gps_vd;
    m_gps_speed = x.m_gps_speed;
    m_gps_days_to_speed = x.m_gps_days_to_speed;
    m_gps_height = x.m_gps_height;
    m_imu_acc_y = x.m_imu_acc_y;
    m_imu_acc_x = x.m_imu_acc_x;
    m_imu_yaw_z = x.m_imu_yaw_z;
    m_imu_v_y = x.m_imu_v_y;
    m_imu_v_x = x.m_imu_v_x;
    m_imu_v_z = x.m_imu_v_z;
    m_gps_satellite_front = x.m_gps_satellite_front;
    m_gps_satellite_rear = x.m_gps_satellite_rear;
    m_gps_yaw = x.m_gps_yaw;
    m_gps_roll = x.m_gps_roll;
    m_gps_pitch = x.m_gps_pitch;

    return *this;
}

GpsImuInfo& GpsImuInfo::operator =(
        GpsImuInfo&& x)
{

    m_gps_week = x.m_gps_week;
    m_gps_time = x.m_gps_time;
    m_time_record = std::move(x.m_time_record);
    m_time_year = x.m_time_year;
    m_time_month = x.m_time_month;
    m_time_day = x.m_time_day;
    m_time_hour = x.m_time_hour;
    m_time_minute = x.m_time_minute;
    m_time_second = x.m_time_second;
    m_gps_msec = x.m_gps_msec;
    m_gps_rtk_status = x.m_gps_rtk_status;
    m_gps_lat = x.m_gps_lat;
    m_gps_lng = x.m_gps_lng;
    m_gps_heading = x.m_gps_heading;
    m_gps_ve = x.m_gps_ve;
    m_gps_vn = x.m_gps_vn;
    m_gps_vd = x.m_gps_vd;
    m_gps_speed = x.m_gps_speed;
    m_gps_days_to_speed = x.m_gps_days_to_speed;
    m_gps_height = x.m_gps_height;
    m_imu_acc_y = x.m_imu_acc_y;
    m_imu_acc_x = x.m_imu_acc_x;
    m_imu_yaw_z = x.m_imu_yaw_z;
    m_imu_v_y = x.m_imu_v_y;
    m_imu_v_x = x.m_imu_v_x;
    m_imu_v_z = x.m_imu_v_z;
    m_gps_satellite_front = x.m_gps_satellite_front;
    m_gps_satellite_rear = x.m_gps_satellite_rear;
    m_gps_yaw = x.m_gps_yaw;
    m_gps_roll = x.m_gps_roll;
    m_gps_pitch = x.m_gps_pitch;

    return *this;
}

size_t GpsImuInfo::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += tmdesc::getMaxCdrSerializedSize(current_alignment);
    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    return current_alignment - initial_alignment;
}

size_t GpsImuInfo::getCdrSerializedSize(
        const GpsImuInfo& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += tmdesc::getCdrSerializedSize(data.time_record(), current_alignment);
    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    return current_alignment - initial_alignment;
}

void GpsImuInfo::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_gps_week;
    scdr << m_gps_time;
    scdr << m_time_record;
    scdr << m_time_year;
    scdr << m_time_month;
    scdr << m_time_day;
    scdr << m_time_hour;
    scdr << m_time_minute;
    scdr << m_time_second;
    scdr << m_gps_msec;
    scdr << m_gps_rtk_status;
    scdr << m_gps_lat;
    scdr << m_gps_lng;
    scdr << m_gps_heading;
    scdr << m_gps_ve;
    scdr << m_gps_vn;
    scdr << m_gps_vd;
    scdr << m_gps_speed;
    scdr << m_gps_days_to_speed;
    scdr << m_gps_height;
    scdr << m_imu_acc_y;
    scdr << m_imu_acc_x;
    scdr << m_imu_yaw_z;
    scdr << m_imu_v_y;
    scdr << m_imu_v_x;
    scdr << m_imu_v_z;
    scdr << m_gps_satellite_front;
    scdr << m_gps_satellite_rear;
    scdr << m_gps_yaw;
    scdr << m_gps_roll;
    scdr << m_gps_pitch;

}

void GpsImuInfo::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_gps_week;
    dcdr >> m_gps_time;
    dcdr >> m_time_record;
    dcdr >> m_time_year;
    dcdr >> m_time_month;
    dcdr >> m_time_day;
    dcdr >> m_time_hour;
    dcdr >> m_time_minute;
    dcdr >> m_time_second;
    dcdr >> m_gps_msec;
    dcdr >> m_gps_rtk_status;
    dcdr >> m_gps_lat;
    dcdr >> m_gps_lng;
    dcdr >> m_gps_heading;
    dcdr >> m_gps_ve;
    dcdr >> m_gps_vn;
    dcdr >> m_gps_vd;
    dcdr >> m_gps_speed;
    dcdr >> m_gps_days_to_speed;
    dcdr >> m_gps_height;
    dcdr >> m_imu_acc_y;
    dcdr >> m_imu_acc_x;
    dcdr >> m_imu_yaw_z;
    dcdr >> m_imu_v_y;
    dcdr >> m_imu_v_x;
    dcdr >> m_imu_v_z;
    dcdr >> m_gps_satellite_front;
    dcdr >> m_gps_satellite_rear;
    dcdr >> m_gps_yaw;
    dcdr >> m_gps_roll;
    dcdr >> m_gps_pitch;
}

/*!
 * @brief This function sets a value in member gps_week
 * @param _gps_week New value for member gps_week
 */
void GpsImuInfo::gps_week(
        int32_t _gps_week)
{
    m_gps_week = _gps_week;
}

/*!
 * @brief This function returns the value of member gps_week
 * @return Value of member gps_week
 */
int32_t GpsImuInfo::gps_week() const
{
    return m_gps_week;
}

/*!
 * @brief This function returns a reference to member gps_week
 * @return Reference to member gps_week
 */
int32_t& GpsImuInfo::gps_week()
{
    return m_gps_week;
}

/*!
 * @brief This function sets a value in member gps_time
 * @param _gps_time New value for member gps_time
 */
void GpsImuInfo::gps_time(
        float _gps_time)
{
    m_gps_time = _gps_time;
}

/*!
 * @brief This function returns the value of member gps_time
 * @return Value of member gps_time
 */
float GpsImuInfo::gps_time() const
{
    return m_gps_time;
}

/*!
 * @brief This function returns a reference to member gps_time
 * @return Reference to member gps_time
 */
float& GpsImuInfo::gps_time()
{
    return m_gps_time;
}

/*!
 * @brief This function copies the value in member time_record
 * @param _time_record New value to be copied in member time_record
 */
void GpsImuInfo::time_record(
        const tmdesc& _time_record)
{
    m_time_record = _time_record;
}

/*!
 * @brief This function moves the value in member time_record
 * @param _time_record New value to be moved in member time_record
 */
void GpsImuInfo::time_record(
        tmdesc&& _time_record)
{
    m_time_record = std::move(_time_record);
}

/*!
 * @brief This function returns a constant reference to member time_record
 * @return Constant reference to member time_record
 */
const tmdesc& GpsImuInfo::time_record() const
{
    return m_time_record;
}

/*!
 * @brief This function returns a reference to member time_record
 * @return Reference to member time_record
 */
tmdesc& GpsImuInfo::time_record()
{
    return m_time_record;
}
/*!
 * @brief This function sets a value in member time_year
 * @param _time_year New value for member time_year
 */
void GpsImuInfo::time_year(
        float _time_year)
{
    m_time_year = _time_year;
}

/*!
 * @brief This function returns the value of member time_year
 * @return Value of member time_year
 */
float GpsImuInfo::time_year() const
{
    return m_time_year;
}

/*!
 * @brief This function returns a reference to member time_year
 * @return Reference to member time_year
 */
float& GpsImuInfo::time_year()
{
    return m_time_year;
}

/*!
 * @brief This function sets a value in member time_month
 * @param _time_month New value for member time_month
 */
void GpsImuInfo::time_month(
        uint32_t _time_month)
{
    m_time_month = _time_month;
}

/*!
 * @brief This function returns the value of member time_month
 * @return Value of member time_month
 */
uint32_t GpsImuInfo::time_month() const
{
    return m_time_month;
}

/*!
 * @brief This function returns a reference to member time_month
 * @return Reference to member time_month
 */
uint32_t& GpsImuInfo::time_month()
{
    return m_time_month;
}

/*!
 * @brief This function sets a value in member time_day
 * @param _time_day New value for member time_day
 */
void GpsImuInfo::time_day(
        uint32_t _time_day)
{
    m_time_day = _time_day;
}

/*!
 * @brief This function returns the value of member time_day
 * @return Value of member time_day
 */
uint32_t GpsImuInfo::time_day() const
{
    return m_time_day;
}

/*!
 * @brief This function returns a reference to member time_day
 * @return Reference to member time_day
 */
uint32_t& GpsImuInfo::time_day()
{
    return m_time_day;
}

/*!
 * @brief This function sets a value in member time_hour
 * @param _time_hour New value for member time_hour
 */
void GpsImuInfo::time_hour(
        uint32_t _time_hour)
{
    m_time_hour = _time_hour;
}

/*!
 * @brief This function returns the value of member time_hour
 * @return Value of member time_hour
 */
uint32_t GpsImuInfo::time_hour() const
{
    return m_time_hour;
}

/*!
 * @brief This function returns a reference to member time_hour
 * @return Reference to member time_hour
 */
uint32_t& GpsImuInfo::time_hour()
{
    return m_time_hour;
}

/*!
 * @brief This function sets a value in member time_minute
 * @param _time_minute New value for member time_minute
 */
void GpsImuInfo::time_minute(
        uint32_t _time_minute)
{
    m_time_minute = _time_minute;
}

/*!
 * @brief This function returns the value of member time_minute
 * @return Value of member time_minute
 */
uint32_t GpsImuInfo::time_minute() const
{
    return m_time_minute;
}

/*!
 * @brief This function returns a reference to member time_minute
 * @return Reference to member time_minute
 */
uint32_t& GpsImuInfo::time_minute()
{
    return m_time_minute;
}

/*!
 * @brief This function sets a value in member time_second
 * @param _time_second New value for member time_second
 */
void GpsImuInfo::time_second(
        uint32_t _time_second)
{
    m_time_second = _time_second;
}

/*!
 * @brief This function returns the value of member time_second
 * @return Value of member time_second
 */
uint32_t GpsImuInfo::time_second() const
{
    return m_time_second;
}

/*!
 * @brief This function returns a reference to member time_second
 * @return Reference to member time_second
 */
uint32_t& GpsImuInfo::time_second()
{
    return m_time_second;
}

/*!
 * @brief This function sets a value in member gps_msec
 * @param _gps_msec New value for member gps_msec
 */
void GpsImuInfo::gps_msec(
        uint64_t _gps_msec)
{
    m_gps_msec = _gps_msec;
}

/*!
 * @brief This function returns the value of member gps_msec
 * @return Value of member gps_msec
 */
uint64_t GpsImuInfo::gps_msec() const
{
    return m_gps_msec;
}

/*!
 * @brief This function returns a reference to member gps_msec
 * @return Reference to member gps_msec
 */
uint64_t& GpsImuInfo::gps_msec()
{
    return m_gps_msec;
}

/*!
 * @brief This function sets a value in member gps_rtk_status
 * @param _gps_rtk_status New value for member gps_rtk_status
 */
void GpsImuInfo::gps_rtk_status(
        int32_t _gps_rtk_status)
{
    m_gps_rtk_status = _gps_rtk_status;
}

/*!
 * @brief This function returns the value of member gps_rtk_status
 * @return Value of member gps_rtk_status
 */
int32_t GpsImuInfo::gps_rtk_status() const
{
    return m_gps_rtk_status;
}

/*!
 * @brief This function returns a reference to member gps_rtk_status
 * @return Reference to member gps_rtk_status
 */
int32_t& GpsImuInfo::gps_rtk_status()
{
    return m_gps_rtk_status;
}

/*!
 * @brief This function sets a value in member gps_lat
 * @param _gps_lat New value for member gps_lat
 */
void GpsImuInfo::gps_lat(
        double _gps_lat)
{
    m_gps_lat = _gps_lat;
}

/*!
 * @brief This function returns the value of member gps_lat
 * @return Value of member gps_lat
 */
double GpsImuInfo::gps_lat() const
{
    return m_gps_lat;
}

/*!
 * @brief This function returns a reference to member gps_lat
 * @return Reference to member gps_lat
 */
double& GpsImuInfo::gps_lat()
{
    return m_gps_lat;
}

/*!
 * @brief This function sets a value in member gps_lng
 * @param _gps_lng New value for member gps_lng
 */
void GpsImuInfo::gps_lng(
        double _gps_lng)
{
    m_gps_lng = _gps_lng;
}

/*!
 * @brief This function returns the value of member gps_lng
 * @return Value of member gps_lng
 */
double GpsImuInfo::gps_lng() const
{
    return m_gps_lng;
}

/*!
 * @brief This function returns a reference to member gps_lng
 * @return Reference to member gps_lng
 */
double& GpsImuInfo::gps_lng()
{
    return m_gps_lng;
}

/*!
 * @brief This function sets a value in member gps_heading
 * @param _gps_heading New value for member gps_heading
 */
void GpsImuInfo::gps_heading(
        float _gps_heading)
{
    m_gps_heading = _gps_heading;
}

/*!
 * @brief This function returns the value of member gps_heading
 * @return Value of member gps_heading
 */
float GpsImuInfo::gps_heading() const
{
    return m_gps_heading;
}

/*!
 * @brief This function returns a reference to member gps_heading
 * @return Reference to member gps_heading
 */
float& GpsImuInfo::gps_heading()
{
    return m_gps_heading;
}

/*!
 * @brief This function sets a value in member gps_ve
 * @param _gps_ve New value for member gps_ve
 */
void GpsImuInfo::gps_ve(
        float _gps_ve)
{
    m_gps_ve = _gps_ve;
}

/*!
 * @brief This function returns the value of member gps_ve
 * @return Value of member gps_ve
 */
float GpsImuInfo::gps_ve() const
{
    return m_gps_ve;
}

/*!
 * @brief This function returns a reference to member gps_ve
 * @return Reference to member gps_ve
 */
float& GpsImuInfo::gps_ve()
{
    return m_gps_ve;
}

/*!
 * @brief This function sets a value in member gps_vn
 * @param _gps_vn New value for member gps_vn
 */
void GpsImuInfo::gps_vn(
        float _gps_vn)
{
    m_gps_vn = _gps_vn;
}

/*!
 * @brief This function returns the value of member gps_vn
 * @return Value of member gps_vn
 */
float GpsImuInfo::gps_vn() const
{
    return m_gps_vn;
}

/*!
 * @brief This function returns a reference to member gps_vn
 * @return Reference to member gps_vn
 */
float& GpsImuInfo::gps_vn()
{
    return m_gps_vn;
}

/*!
 * @brief This function sets a value in member gps_vd
 * @param _gps_vd New value for member gps_vd
 */
void GpsImuInfo::gps_vd(
        float _gps_vd)
{
    m_gps_vd = _gps_vd;
}

/*!
 * @brief This function returns the value of member gps_vd
 * @return Value of member gps_vd
 */
float GpsImuInfo::gps_vd() const
{
    return m_gps_vd;
}

/*!
 * @brief This function returns a reference to member gps_vd
 * @return Reference to member gps_vd
 */
float& GpsImuInfo::gps_vd()
{
    return m_gps_vd;
}

/*!
 * @brief This function sets a value in member gps_speed
 * @param _gps_speed New value for member gps_speed
 */
void GpsImuInfo::gps_speed(
        float _gps_speed)
{
    m_gps_speed = _gps_speed;
}

/*!
 * @brief This function returns the value of member gps_speed
 * @return Value of member gps_speed
 */
float GpsImuInfo::gps_speed() const
{
    return m_gps_speed;
}

/*!
 * @brief This function returns a reference to member gps_speed
 * @return Reference to member gps_speed
 */
float& GpsImuInfo::gps_speed()
{
    return m_gps_speed;
}

/*!
 * @brief This function sets a value in member gps_days_to_speed
 * @param _gps_days_to_speed New value for member gps_days_to_speed
 */
void GpsImuInfo::gps_days_to_speed(
        float _gps_days_to_speed)
{
    m_gps_days_to_speed = _gps_days_to_speed;
}

/*!
 * @brief This function returns the value of member gps_days_to_speed
 * @return Value of member gps_days_to_speed
 */
float GpsImuInfo::gps_days_to_speed() const
{
    return m_gps_days_to_speed;
}

/*!
 * @brief This function returns a reference to member gps_days_to_speed
 * @return Reference to member gps_days_to_speed
 */
float& GpsImuInfo::gps_days_to_speed()
{
    return m_gps_days_to_speed;
}

/*!
 * @brief This function sets a value in member gps_height
 * @param _gps_height New value for member gps_height
 */
void GpsImuInfo::gps_height(
        float _gps_height)
{
    m_gps_height = _gps_height;
}

/*!
 * @brief This function returns the value of member gps_height
 * @return Value of member gps_height
 */
float GpsImuInfo::gps_height() const
{
    return m_gps_height;
}

/*!
 * @brief This function returns a reference to member gps_height
 * @return Reference to member gps_height
 */
float& GpsImuInfo::gps_height()
{
    return m_gps_height;
}

/*!
 * @brief This function sets a value in member imu_acc_y
 * @param _imu_acc_y New value for member imu_acc_y
 */
void GpsImuInfo::imu_acc_y(
        float _imu_acc_y)
{
    m_imu_acc_y = _imu_acc_y;
}

/*!
 * @brief This function returns the value of member imu_acc_y
 * @return Value of member imu_acc_y
 */
float GpsImuInfo::imu_acc_y() const
{
    return m_imu_acc_y;
}

/*!
 * @brief This function returns a reference to member imu_acc_y
 * @return Reference to member imu_acc_y
 */
float& GpsImuInfo::imu_acc_y()
{
    return m_imu_acc_y;
}

/*!
 * @brief This function sets a value in member imu_acc_x
 * @param _imu_acc_x New value for member imu_acc_x
 */
void GpsImuInfo::imu_acc_x(
        float _imu_acc_x)
{
    m_imu_acc_x = _imu_acc_x;
}

/*!
 * @brief This function returns the value of member imu_acc_x
 * @return Value of member imu_acc_x
 */
float GpsImuInfo::imu_acc_x() const
{
    return m_imu_acc_x;
}

/*!
 * @brief This function returns a reference to member imu_acc_x
 * @return Reference to member imu_acc_x
 */
float& GpsImuInfo::imu_acc_x()
{
    return m_imu_acc_x;
}

/*!
 * @brief This function sets a value in member imu_yaw_z
 * @param _imu_yaw_z New value for member imu_yaw_z
 */
void GpsImuInfo::imu_yaw_z(
        float _imu_yaw_z)
{
    m_imu_yaw_z = _imu_yaw_z;
}

/*!
 * @brief This function returns the value of member imu_yaw_z
 * @return Value of member imu_yaw_z
 */
float GpsImuInfo::imu_yaw_z() const
{
    return m_imu_yaw_z;
}

/*!
 * @brief This function returns a reference to member imu_yaw_z
 * @return Reference to member imu_yaw_z
 */
float& GpsImuInfo::imu_yaw_z()
{
    return m_imu_yaw_z;
}

/*!
 * @brief This function sets a value in member imu_v_y
 * @param _imu_v_y New value for member imu_v_y
 */
void GpsImuInfo::imu_v_y(
        float _imu_v_y)
{
    m_imu_v_y = _imu_v_y;
}

/*!
 * @brief This function returns the value of member imu_v_y
 * @return Value of member imu_v_y
 */
float GpsImuInfo::imu_v_y() const
{
    return m_imu_v_y;
}

/*!
 * @brief This function returns a reference to member imu_v_y
 * @return Reference to member imu_v_y
 */
float& GpsImuInfo::imu_v_y()
{
    return m_imu_v_y;
}

/*!
 * @brief This function sets a value in member imu_v_x
 * @param _imu_v_x New value for member imu_v_x
 */
void GpsImuInfo::imu_v_x(
        float _imu_v_x)
{
    m_imu_v_x = _imu_v_x;
}

/*!
 * @brief This function returns the value of member imu_v_x
 * @return Value of member imu_v_x
 */
float GpsImuInfo::imu_v_x() const
{
    return m_imu_v_x;
}

/*!
 * @brief This function returns a reference to member imu_v_x
 * @return Reference to member imu_v_x
 */
float& GpsImuInfo::imu_v_x()
{
    return m_imu_v_x;
}

/*!
 * @brief This function sets a value in member imu_v_z
 * @param _imu_v_z New value for member imu_v_z
 */
void GpsImuInfo::imu_v_z(
        float _imu_v_z)
{
    m_imu_v_z = _imu_v_z;
}

/*!
 * @brief This function returns the value of member imu_v_z
 * @return Value of member imu_v_z
 */
float GpsImuInfo::imu_v_z() const
{
    return m_imu_v_z;
}

/*!
 * @brief This function returns a reference to member imu_v_z
 * @return Reference to member imu_v_z
 */
float& GpsImuInfo::imu_v_z()
{
    return m_imu_v_z;
}

/*!
 * @brief This function sets a value in member gps_satellite_front
 * @param _gps_satellite_front New value for member gps_satellite_front
 */
void GpsImuInfo::gps_satellite_front(
        int32_t _gps_satellite_front)
{
    m_gps_satellite_front = _gps_satellite_front;
}

/*!
 * @brief This function returns the value of member gps_satellite_front
 * @return Value of member gps_satellite_front
 */
int32_t GpsImuInfo::gps_satellite_front() const
{
    return m_gps_satellite_front;
}

/*!
 * @brief This function returns a reference to member gps_satellite_front
 * @return Reference to member gps_satellite_front
 */
int32_t& GpsImuInfo::gps_satellite_front()
{
    return m_gps_satellite_front;
}

/*!
 * @brief This function sets a value in member gps_satellite_rear
 * @param _gps_satellite_rear New value for member gps_satellite_rear
 */
void GpsImuInfo::gps_satellite_rear(
        int32_t _gps_satellite_rear)
{
    m_gps_satellite_rear = _gps_satellite_rear;
}

/*!
 * @brief This function returns the value of member gps_satellite_rear
 * @return Value of member gps_satellite_rear
 */
int32_t GpsImuInfo::gps_satellite_rear() const
{
    return m_gps_satellite_rear;
}

/*!
 * @brief This function returns a reference to member gps_satellite_rear
 * @return Reference to member gps_satellite_rear
 */
int32_t& GpsImuInfo::gps_satellite_rear()
{
    return m_gps_satellite_rear;
}

/*!
 * @brief This function sets a value in member gps_yaw
 * @param _gps_yaw New value for member gps_yaw
 */
void GpsImuInfo::gps_yaw(
        float _gps_yaw)
{
    m_gps_yaw = _gps_yaw;
}

/*!
 * @brief This function returns the value of member gps_yaw
 * @return Value of member gps_yaw
 */
float GpsImuInfo::gps_yaw() const
{
    return m_gps_yaw;
}

/*!
 * @brief This function returns a reference to member gps_yaw
 * @return Reference to member gps_yaw
 */
float& GpsImuInfo::gps_yaw()
{
    return m_gps_yaw;
}

/*!
 * @brief This function sets a value in member gps_roll
 * @param _gps_roll New value for member gps_roll
 */
void GpsImuInfo::gps_roll(
        float _gps_roll)
{
    m_gps_roll = _gps_roll;
}

/*!
 * @brief This function returns the value of member gps_roll
 * @return Value of member gps_roll
 */
float GpsImuInfo::gps_roll() const
{
    return m_gps_roll;
}

/*!
 * @brief This function returns a reference to member gps_roll
 * @return Reference to member gps_roll
 */
float& GpsImuInfo::gps_roll()
{
    return m_gps_roll;
}

/*!
 * @brief This function sets a value in member gps_pitch
 * @param _gps_pitch New value for member gps_pitch
 */
void GpsImuInfo::gps_pitch(
        float _gps_pitch)
{
    m_gps_pitch = _gps_pitch;
}

/*!
 * @brief This function returns the value of member gps_pitch
 * @return Value of member gps_pitch
 */
float GpsImuInfo::gps_pitch() const
{
    return m_gps_pitch;
}

/*!
 * @brief This function returns a reference to member gps_pitch
 * @return Reference to member gps_pitch
 */
float& GpsImuInfo::gps_pitch()
{
    return m_gps_pitch;
}


size_t GpsImuInfo::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;


































    return current_align;
}

bool GpsImuInfo::isKeyDefined()
{
    return false;
}

void GpsImuInfo::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
                                   
}

DDS_GpsImuInfo::DDS_GpsImuInfo()
{
    // m_stamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@71809907
    m_stamp = 0;
    // m_gps_week_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3ce1e309
    m_gps_week_10ms = 0;
    // m_gps_time_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6aba2b86
    m_gps_time_10ms = 0.0;
    // m_time_year_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@158da8e
    m_time_year_10ms = 0.0;
    // m_time_record_10ms com.eprosima.fastdds.idl.parser.typecode.StructTypeCode@74e52303

    // m_time_month_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@47af7f3d
    m_time_month_10ms = 0;
    // m_time_day_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7c729a55
    m_time_day_10ms = 0;
    // m_time_hour_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3bb9a3ff
    m_time_hour_10ms = 0;
    // m_time_minute_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@661972b0
    m_time_minute_10ms = 0;
    // m_time_second_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5af3afd9
    m_time_second_10ms = 0;
    // m_gps_msec_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@323b36e0
    m_gps_msec_10ms = 0;
    // m_gps_rtk_status_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@44ebcd03
    m_gps_rtk_status_10ms = 0;
    // m_gps_lat_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@694abbdc
    m_gps_lat_10ms = 0.0;
    // m_gps_lng_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@2e005c4b
    m_gps_lng_10ms = 0.0;
    // m_gps_heading_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4567f35d
    m_gps_heading_10ms = 0.0;
    // m_gps_ve_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5ffead27
    m_gps_ve_10ms = 0.0;
    // m_gps_vn_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6356695f
    m_gps_vn_10ms = 0.0;
    // m_gps_vd_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4f18837a
    m_gps_vd_10ms = 0.0;
    // m_gps_speed_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@359f7cdf
    m_gps_speed_10ms = 0.0;
    // m_gps_days_to_speed_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1fa268de
    m_gps_days_to_speed_10ms = 0.0;
    // m_gps_height_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4f6ee6e4
    m_gps_height_10ms = 0.0;
    // m_imu_acc_y_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4466af20
    m_imu_acc_y_10ms = 0.0;
    // m_imu_acc_x_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@a514af7
    m_imu_acc_x_10ms = 0.0;
    // m_imu_yaw_z_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6b927fb
    m_imu_yaw_z_10ms = 0.0;
    // m_imu_v_y_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3e58a80e
    m_imu_v_y_10ms = 0.0;
    // m_imu_v_x_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4fb61f4a
    m_imu_v_x_10ms = 0.0;
    // m_imu_v_z_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4fb0f2b9
    m_imu_v_z_10ms = 0.0;
    // m_gps_satellite_front_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@79924b
    m_gps_satellite_front_10ms = 0;
    // m_gps_satellite_rear_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7b9a4292
    m_gps_satellite_rear_10ms = 0;
    // m_gps_yaw_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4a94ee4
    m_gps_yaw_10ms = 0.0;
    // m_gps_roll_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4cc451f2
    m_gps_roll_10ms = 0.0;
    // m_gps_pitch_10ms com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6379eb
    m_gps_pitch_10ms = 0.0;
    // m_course_Angle_condition com.eprosima.idl.parser.typecode.PrimitiveTypeCode@294425a7
    m_course_Angle_condition = 0;
    // m_vehicle_status_marker com.eprosima.idl.parser.typecode.PrimitiveTypeCode@67d48005
    m_vehicle_status_marker = 0;
    // m_GpsNumSatsUsed com.eprosima.idl.parser.typecode.PrimitiveTypeCode@9f116cc
    m_GpsNumSatsUsed = 0;
    // m_GpsNumSats2Used com.eprosima.idl.parser.typecode.PrimitiveTypeCode@12468a38
    m_GpsNumSats2Used = 0;
    // m_integrated_navigation_overall_status_flag_bits com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1aa7ecca
    m_integrated_navigation_overall_status_flag_bits = 0;

}

DDS_GpsImuInfo::~DDS_GpsImuInfo()
{





































}

DDS_GpsImuInfo::DDS_GpsImuInfo(
        const DDS_GpsImuInfo& x)
{
    m_stamp = x.m_stamp;
    m_gps_week_10ms = x.m_gps_week_10ms;
    m_gps_time_10ms = x.m_gps_time_10ms;
    m_time_year_10ms = x.m_time_year_10ms;
    m_time_record_10ms = x.m_time_record_10ms;
    m_time_month_10ms = x.m_time_month_10ms;
    m_time_day_10ms = x.m_time_day_10ms;
    m_time_hour_10ms = x.m_time_hour_10ms;
    m_time_minute_10ms = x.m_time_minute_10ms;
    m_time_second_10ms = x.m_time_second_10ms;
    m_gps_msec_10ms = x.m_gps_msec_10ms;
    m_gps_rtk_status_10ms = x.m_gps_rtk_status_10ms;
    m_gps_lat_10ms = x.m_gps_lat_10ms;
    m_gps_lng_10ms = x.m_gps_lng_10ms;
    m_gps_heading_10ms = x.m_gps_heading_10ms;
    m_gps_ve_10ms = x.m_gps_ve_10ms;
    m_gps_vn_10ms = x.m_gps_vn_10ms;
    m_gps_vd_10ms = x.m_gps_vd_10ms;
    m_gps_speed_10ms = x.m_gps_speed_10ms;
    m_gps_days_to_speed_10ms = x.m_gps_days_to_speed_10ms;
    m_gps_height_10ms = x.m_gps_height_10ms;
    m_imu_acc_y_10ms = x.m_imu_acc_y_10ms;
    m_imu_acc_x_10ms = x.m_imu_acc_x_10ms;
    m_imu_yaw_z_10ms = x.m_imu_yaw_z_10ms;
    m_imu_v_y_10ms = x.m_imu_v_y_10ms;
    m_imu_v_x_10ms = x.m_imu_v_x_10ms;
    m_imu_v_z_10ms = x.m_imu_v_z_10ms;
    m_gps_satellite_front_10ms = x.m_gps_satellite_front_10ms;
    m_gps_satellite_rear_10ms = x.m_gps_satellite_rear_10ms;
    m_gps_yaw_10ms = x.m_gps_yaw_10ms;
    m_gps_roll_10ms = x.m_gps_roll_10ms;
    m_gps_pitch_10ms = x.m_gps_pitch_10ms;
    m_course_Angle_condition = x.m_course_Angle_condition;
    m_vehicle_status_marker = x.m_vehicle_status_marker;
    m_GpsNumSatsUsed = x.m_GpsNumSatsUsed;
    m_GpsNumSats2Used = x.m_GpsNumSats2Used;
    m_integrated_navigation_overall_status_flag_bits = x.m_integrated_navigation_overall_status_flag_bits;
}

DDS_GpsImuInfo::DDS_GpsImuInfo(
        DDS_GpsImuInfo&& x)
{
    m_stamp = x.m_stamp;
    m_gps_week_10ms = x.m_gps_week_10ms;
    m_gps_time_10ms = x.m_gps_time_10ms;
    m_time_year_10ms = x.m_time_year_10ms;
    m_time_record_10ms = std::move(x.m_time_record_10ms);
    m_time_month_10ms = x.m_time_month_10ms;
    m_time_day_10ms = x.m_time_day_10ms;
    m_time_hour_10ms = x.m_time_hour_10ms;
    m_time_minute_10ms = x.m_time_minute_10ms;
    m_time_second_10ms = x.m_time_second_10ms;
    m_gps_msec_10ms = x.m_gps_msec_10ms;
    m_gps_rtk_status_10ms = x.m_gps_rtk_status_10ms;
    m_gps_lat_10ms = x.m_gps_lat_10ms;
    m_gps_lng_10ms = x.m_gps_lng_10ms;
    m_gps_heading_10ms = x.m_gps_heading_10ms;
    m_gps_ve_10ms = x.m_gps_ve_10ms;
    m_gps_vn_10ms = x.m_gps_vn_10ms;
    m_gps_vd_10ms = x.m_gps_vd_10ms;
    m_gps_speed_10ms = x.m_gps_speed_10ms;
    m_gps_days_to_speed_10ms = x.m_gps_days_to_speed_10ms;
    m_gps_height_10ms = x.m_gps_height_10ms;
    m_imu_acc_y_10ms = x.m_imu_acc_y_10ms;
    m_imu_acc_x_10ms = x.m_imu_acc_x_10ms;
    m_imu_yaw_z_10ms = x.m_imu_yaw_z_10ms;
    m_imu_v_y_10ms = x.m_imu_v_y_10ms;
    m_imu_v_x_10ms = x.m_imu_v_x_10ms;
    m_imu_v_z_10ms = x.m_imu_v_z_10ms;
    m_gps_satellite_front_10ms = x.m_gps_satellite_front_10ms;
    m_gps_satellite_rear_10ms = x.m_gps_satellite_rear_10ms;
    m_gps_yaw_10ms = x.m_gps_yaw_10ms;
    m_gps_roll_10ms = x.m_gps_roll_10ms;
    m_gps_pitch_10ms = x.m_gps_pitch_10ms;
    m_course_Angle_condition = x.m_course_Angle_condition;
    m_vehicle_status_marker = x.m_vehicle_status_marker;
    m_GpsNumSatsUsed = x.m_GpsNumSatsUsed;
    m_GpsNumSats2Used = x.m_GpsNumSats2Used;
    m_integrated_navigation_overall_status_flag_bits = x.m_integrated_navigation_overall_status_flag_bits;
}

DDS_GpsImuInfo& DDS_GpsImuInfo::operator =(
        const DDS_GpsImuInfo& x)
{

    m_stamp = x.m_stamp;
    m_gps_week_10ms = x.m_gps_week_10ms;
    m_gps_time_10ms = x.m_gps_time_10ms;
    m_time_year_10ms = x.m_time_year_10ms;
    m_time_record_10ms = x.m_time_record_10ms;
    m_time_month_10ms = x.m_time_month_10ms;
    m_time_day_10ms = x.m_time_day_10ms;
    m_time_hour_10ms = x.m_time_hour_10ms;
    m_time_minute_10ms = x.m_time_minute_10ms;
    m_time_second_10ms = x.m_time_second_10ms;
    m_gps_msec_10ms = x.m_gps_msec_10ms;
    m_gps_rtk_status_10ms = x.m_gps_rtk_status_10ms;
    m_gps_lat_10ms = x.m_gps_lat_10ms;
    m_gps_lng_10ms = x.m_gps_lng_10ms;
    m_gps_heading_10ms = x.m_gps_heading_10ms;
    m_gps_ve_10ms = x.m_gps_ve_10ms;
    m_gps_vn_10ms = x.m_gps_vn_10ms;
    m_gps_vd_10ms = x.m_gps_vd_10ms;
    m_gps_speed_10ms = x.m_gps_speed_10ms;
    m_gps_days_to_speed_10ms = x.m_gps_days_to_speed_10ms;
    m_gps_height_10ms = x.m_gps_height_10ms;
    m_imu_acc_y_10ms = x.m_imu_acc_y_10ms;
    m_imu_acc_x_10ms = x.m_imu_acc_x_10ms;
    m_imu_yaw_z_10ms = x.m_imu_yaw_z_10ms;
    m_imu_v_y_10ms = x.m_imu_v_y_10ms;
    m_imu_v_x_10ms = x.m_imu_v_x_10ms;
    m_imu_v_z_10ms = x.m_imu_v_z_10ms;
    m_gps_satellite_front_10ms = x.m_gps_satellite_front_10ms;
    m_gps_satellite_rear_10ms = x.m_gps_satellite_rear_10ms;
    m_gps_yaw_10ms = x.m_gps_yaw_10ms;
    m_gps_roll_10ms = x.m_gps_roll_10ms;
    m_gps_pitch_10ms = x.m_gps_pitch_10ms;
    m_course_Angle_condition = x.m_course_Angle_condition;
    m_vehicle_status_marker = x.m_vehicle_status_marker;
    m_GpsNumSatsUsed = x.m_GpsNumSatsUsed;
    m_GpsNumSats2Used = x.m_GpsNumSats2Used;
    m_integrated_navigation_overall_status_flag_bits = x.m_integrated_navigation_overall_status_flag_bits;

    return *this;
}

DDS_GpsImuInfo& DDS_GpsImuInfo::operator =(
        DDS_GpsImuInfo&& x)
{

    m_stamp = x.m_stamp;
    m_gps_week_10ms = x.m_gps_week_10ms;
    m_gps_time_10ms = x.m_gps_time_10ms;
    m_time_year_10ms = x.m_time_year_10ms;
    m_time_record_10ms = std::move(x.m_time_record_10ms);
    m_time_month_10ms = x.m_time_month_10ms;
    m_time_day_10ms = x.m_time_day_10ms;
    m_time_hour_10ms = x.m_time_hour_10ms;
    m_time_minute_10ms = x.m_time_minute_10ms;
    m_time_second_10ms = x.m_time_second_10ms;
    m_gps_msec_10ms = x.m_gps_msec_10ms;
    m_gps_rtk_status_10ms = x.m_gps_rtk_status_10ms;
    m_gps_lat_10ms = x.m_gps_lat_10ms;
    m_gps_lng_10ms = x.m_gps_lng_10ms;
    m_gps_heading_10ms = x.m_gps_heading_10ms;
    m_gps_ve_10ms = x.m_gps_ve_10ms;
    m_gps_vn_10ms = x.m_gps_vn_10ms;
    m_gps_vd_10ms = x.m_gps_vd_10ms;
    m_gps_speed_10ms = x.m_gps_speed_10ms;
    m_gps_days_to_speed_10ms = x.m_gps_days_to_speed_10ms;
    m_gps_height_10ms = x.m_gps_height_10ms;
    m_imu_acc_y_10ms = x.m_imu_acc_y_10ms;
    m_imu_acc_x_10ms = x.m_imu_acc_x_10ms;
    m_imu_yaw_z_10ms = x.m_imu_yaw_z_10ms;
    m_imu_v_y_10ms = x.m_imu_v_y_10ms;
    m_imu_v_x_10ms = x.m_imu_v_x_10ms;
    m_imu_v_z_10ms = x.m_imu_v_z_10ms;
    m_gps_satellite_front_10ms = x.m_gps_satellite_front_10ms;
    m_gps_satellite_rear_10ms = x.m_gps_satellite_rear_10ms;
    m_gps_yaw_10ms = x.m_gps_yaw_10ms;
    m_gps_roll_10ms = x.m_gps_roll_10ms;
    m_gps_pitch_10ms = x.m_gps_pitch_10ms;
    m_course_Angle_condition = x.m_course_Angle_condition;
    m_vehicle_status_marker = x.m_vehicle_status_marker;
    m_GpsNumSatsUsed = x.m_GpsNumSatsUsed;
    m_GpsNumSats2Used = x.m_GpsNumSats2Used;
    m_integrated_navigation_overall_status_flag_bits = x.m_integrated_navigation_overall_status_flag_bits;

    return *this;
}

size_t DDS_GpsImuInfo::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += tmdesc_imu::getMaxCdrSerializedSize(current_alignment);
    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    return current_alignment - initial_alignment;
}

size_t DDS_GpsImuInfo::getCdrSerializedSize(
        const DDS_GpsImuInfo& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += tmdesc_imu::getCdrSerializedSize(data.time_record_10ms(), current_alignment);
    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    return current_alignment - initial_alignment;
}

void DDS_GpsImuInfo::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_stamp;
    scdr << m_gps_week_10ms;
    scdr << m_gps_time_10ms;
    scdr << m_time_year_10ms;
    scdr << m_time_record_10ms;
    scdr << m_time_month_10ms;
    scdr << m_time_day_10ms;
    scdr << m_time_hour_10ms;
    scdr << m_time_minute_10ms;
    scdr << m_time_second_10ms;
    scdr << m_gps_msec_10ms;
    scdr << m_gps_rtk_status_10ms;
    scdr << m_gps_lat_10ms;
    scdr << m_gps_lng_10ms;
    scdr << m_gps_heading_10ms;
    scdr << m_gps_ve_10ms;
    scdr << m_gps_vn_10ms;
    scdr << m_gps_vd_10ms;
    scdr << m_gps_speed_10ms;
    scdr << m_gps_days_to_speed_10ms;
    scdr << m_gps_height_10ms;
    scdr << m_imu_acc_y_10ms;
    scdr << m_imu_acc_x_10ms;
    scdr << m_imu_yaw_z_10ms;
    scdr << m_imu_v_y_10ms;
    scdr << m_imu_v_x_10ms;
    scdr << m_imu_v_z_10ms;
    scdr << m_gps_satellite_front_10ms;
    scdr << m_gps_satellite_rear_10ms;
    scdr << m_gps_yaw_10ms;
    scdr << m_gps_roll_10ms;
    scdr << m_gps_pitch_10ms;
    scdr << m_course_Angle_condition;
    scdr << m_vehicle_status_marker;
    scdr << m_GpsNumSatsUsed;
    scdr << m_GpsNumSats2Used;
    scdr << m_integrated_navigation_overall_status_flag_bits;

}

void DDS_GpsImuInfo::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_stamp;
    dcdr >> m_gps_week_10ms;
    dcdr >> m_gps_time_10ms;
    dcdr >> m_time_year_10ms;
    dcdr >> m_time_record_10ms;
    dcdr >> m_time_month_10ms;
    dcdr >> m_time_day_10ms;
    dcdr >> m_time_hour_10ms;
    dcdr >> m_time_minute_10ms;
    dcdr >> m_time_second_10ms;
    dcdr >> m_gps_msec_10ms;
    dcdr >> m_gps_rtk_status_10ms;
    dcdr >> m_gps_lat_10ms;
    dcdr >> m_gps_lng_10ms;
    dcdr >> m_gps_heading_10ms;
    dcdr >> m_gps_ve_10ms;
    dcdr >> m_gps_vn_10ms;
    dcdr >> m_gps_vd_10ms;
    dcdr >> m_gps_speed_10ms;
    dcdr >> m_gps_days_to_speed_10ms;
    dcdr >> m_gps_height_10ms;
    dcdr >> m_imu_acc_y_10ms;
    dcdr >> m_imu_acc_x_10ms;
    dcdr >> m_imu_yaw_z_10ms;
    dcdr >> m_imu_v_y_10ms;
    dcdr >> m_imu_v_x_10ms;
    dcdr >> m_imu_v_z_10ms;
    dcdr >> m_gps_satellite_front_10ms;
    dcdr >> m_gps_satellite_rear_10ms;
    dcdr >> m_gps_yaw_10ms;
    dcdr >> m_gps_roll_10ms;
    dcdr >> m_gps_pitch_10ms;
    dcdr >> m_course_Angle_condition;
    dcdr >> m_vehicle_status_marker;
    dcdr >> m_GpsNumSatsUsed;
    dcdr >> m_GpsNumSats2Used;
    dcdr >> m_integrated_navigation_overall_status_flag_bits;
}

/*!
 * @brief This function sets a value in member stamp
 * @param _stamp New value for member stamp
 */
void DDS_GpsImuInfo::stamp(
        int64_t _stamp)
{
    m_stamp = _stamp;
}

/*!
 * @brief This function returns the value of member stamp
 * @return Value of member stamp
 */
int64_t DDS_GpsImuInfo::stamp() const
{
    return m_stamp;
}

/*!
 * @brief This function returns a reference to member stamp
 * @return Reference to member stamp
 */
int64_t& DDS_GpsImuInfo::stamp()
{
    return m_stamp;
}

/*!
 * @brief This function sets a value in member gps_week_10ms
 * @param _gps_week_10ms New value for member gps_week_10ms
 */
void DDS_GpsImuInfo::gps_week_10ms(
        int32_t _gps_week_10ms)
{
    m_gps_week_10ms = _gps_week_10ms;
}

/*!
 * @brief This function returns the value of member gps_week_10ms
 * @return Value of member gps_week_10ms
 */
int32_t DDS_GpsImuInfo::gps_week_10ms() const
{
    return m_gps_week_10ms;
}

/*!
 * @brief This function returns a reference to member gps_week_10ms
 * @return Reference to member gps_week_10ms
 */
int32_t& DDS_GpsImuInfo::gps_week_10ms()
{
    return m_gps_week_10ms;
}

/*!
 * @brief This function sets a value in member gps_time_10ms
 * @param _gps_time_10ms New value for member gps_time_10ms
 */
void DDS_GpsImuInfo::gps_time_10ms(
        float _gps_time_10ms)
{
    m_gps_time_10ms = _gps_time_10ms;
}

/*!
 * @brief This function returns the value of member gps_time_10ms
 * @return Value of member gps_time_10ms
 */
float DDS_GpsImuInfo::gps_time_10ms() const
{
    return m_gps_time_10ms;
}

/*!
 * @brief This function returns a reference to member gps_time_10ms
 * @return Reference to member gps_time_10ms
 */
float& DDS_GpsImuInfo::gps_time_10ms()
{
    return m_gps_time_10ms;
}

/*!
 * @brief This function sets a value in member time_year_10ms
 * @param _time_year_10ms New value for member time_year_10ms
 */
void DDS_GpsImuInfo::time_year_10ms(
        float _time_year_10ms)
{
    m_time_year_10ms = _time_year_10ms;
}

/*!
 * @brief This function returns the value of member time_year_10ms
 * @return Value of member time_year_10ms
 */
float DDS_GpsImuInfo::time_year_10ms() const
{
    return m_time_year_10ms;
}

/*!
 * @brief This function returns a reference to member time_year_10ms
 * @return Reference to member time_year_10ms
 */
float& DDS_GpsImuInfo::time_year_10ms()
{
    return m_time_year_10ms;
}

/*!
 * @brief This function copies the value in member time_record_10ms
 * @param _time_record_10ms New value to be copied in member time_record_10ms
 */
void DDS_GpsImuInfo::time_record_10ms(
        const tmdesc_imu& _time_record_10ms)
{
    m_time_record_10ms = _time_record_10ms;
}

/*!
 * @brief This function moves the value in member time_record_10ms
 * @param _time_record_10ms New value to be moved in member time_record_10ms
 */
void DDS_GpsImuInfo::time_record_10ms(
        tmdesc_imu&& _time_record_10ms)
{
    m_time_record_10ms = std::move(_time_record_10ms);
}

/*!
 * @brief This function returns a constant reference to member time_record_10ms
 * @return Constant reference to member time_record_10ms
 */
const tmdesc_imu& DDS_GpsImuInfo::time_record_10ms() const
{
    return m_time_record_10ms;
}

/*!
 * @brief This function returns a reference to member time_record_10ms
 * @return Reference to member time_record_10ms
 */
tmdesc_imu& DDS_GpsImuInfo::time_record_10ms()
{
    return m_time_record_10ms;
}
/*!
 * @brief This function sets a value in member time_month_10ms
 * @param _time_month_10ms New value for member time_month_10ms
 */
void DDS_GpsImuInfo::time_month_10ms(
        uint32_t _time_month_10ms)
{
    m_time_month_10ms = _time_month_10ms;
}

/*!
 * @brief This function returns the value of member time_month_10ms
 * @return Value of member time_month_10ms
 */
uint32_t DDS_GpsImuInfo::time_month_10ms() const
{
    return m_time_month_10ms;
}

/*!
 * @brief This function returns a reference to member time_month_10ms
 * @return Reference to member time_month_10ms
 */
uint32_t& DDS_GpsImuInfo::time_month_10ms()
{
    return m_time_month_10ms;
}

/*!
 * @brief This function sets a value in member time_day_10ms
 * @param _time_day_10ms New value for member time_day_10ms
 */
void DDS_GpsImuInfo::time_day_10ms(
        uint32_t _time_day_10ms)
{
    m_time_day_10ms = _time_day_10ms;
}

/*!
 * @brief This function returns the value of member time_day_10ms
 * @return Value of member time_day_10ms
 */
uint32_t DDS_GpsImuInfo::time_day_10ms() const
{
    return m_time_day_10ms;
}

/*!
 * @brief This function returns a reference to member time_day_10ms
 * @return Reference to member time_day_10ms
 */
uint32_t& DDS_GpsImuInfo::time_day_10ms()
{
    return m_time_day_10ms;
}

/*!
 * @brief This function sets a value in member time_hour_10ms
 * @param _time_hour_10ms New value for member time_hour_10ms
 */
void DDS_GpsImuInfo::time_hour_10ms(
        uint32_t _time_hour_10ms)
{
    m_time_hour_10ms = _time_hour_10ms;
}

/*!
 * @brief This function returns the value of member time_hour_10ms
 * @return Value of member time_hour_10ms
 */
uint32_t DDS_GpsImuInfo::time_hour_10ms() const
{
    return m_time_hour_10ms;
}

/*!
 * @brief This function returns a reference to member time_hour_10ms
 * @return Reference to member time_hour_10ms
 */
uint32_t& DDS_GpsImuInfo::time_hour_10ms()
{
    return m_time_hour_10ms;
}

/*!
 * @brief This function sets a value in member time_minute_10ms
 * @param _time_minute_10ms New value for member time_minute_10ms
 */
void DDS_GpsImuInfo::time_minute_10ms(
        uint32_t _time_minute_10ms)
{
    m_time_minute_10ms = _time_minute_10ms;
}

/*!
 * @brief This function returns the value of member time_minute_10ms
 * @return Value of member time_minute_10ms
 */
uint32_t DDS_GpsImuInfo::time_minute_10ms() const
{
    return m_time_minute_10ms;
}

/*!
 * @brief This function returns a reference to member time_minute_10ms
 * @return Reference to member time_minute_10ms
 */
uint32_t& DDS_GpsImuInfo::time_minute_10ms()
{
    return m_time_minute_10ms;
}

/*!
 * @brief This function sets a value in member time_second_10ms
 * @param _time_second_10ms New value for member time_second_10ms
 */
void DDS_GpsImuInfo::time_second_10ms(
        uint32_t _time_second_10ms)
{
    m_time_second_10ms = _time_second_10ms;
}

/*!
 * @brief This function returns the value of member time_second_10ms
 * @return Value of member time_second_10ms
 */
uint32_t DDS_GpsImuInfo::time_second_10ms() const
{
    return m_time_second_10ms;
}

/*!
 * @brief This function returns a reference to member time_second_10ms
 * @return Reference to member time_second_10ms
 */
uint32_t& DDS_GpsImuInfo::time_second_10ms()
{
    return m_time_second_10ms;
}

/*!
 * @brief This function sets a value in member gps_msec_10ms
 * @param _gps_msec_10ms New value for member gps_msec_10ms
 */
void DDS_GpsImuInfo::gps_msec_10ms(
        uint64_t _gps_msec_10ms)
{
    m_gps_msec_10ms = _gps_msec_10ms;
}

/*!
 * @brief This function returns the value of member gps_msec_10ms
 * @return Value of member gps_msec_10ms
 */
uint64_t DDS_GpsImuInfo::gps_msec_10ms() const
{
    return m_gps_msec_10ms;
}

/*!
 * @brief This function returns a reference to member gps_msec_10ms
 * @return Reference to member gps_msec_10ms
 */
uint64_t& DDS_GpsImuInfo::gps_msec_10ms()
{
    return m_gps_msec_10ms;
}

/*!
 * @brief This function sets a value in member gps_rtk_status_10ms
 * @param _gps_rtk_status_10ms New value for member gps_rtk_status_10ms
 */
void DDS_GpsImuInfo::gps_rtk_status_10ms(
        int32_t _gps_rtk_status_10ms)
{
    m_gps_rtk_status_10ms = _gps_rtk_status_10ms;
}

/*!
 * @brief This function returns the value of member gps_rtk_status_10ms
 * @return Value of member gps_rtk_status_10ms
 */
int32_t DDS_GpsImuInfo::gps_rtk_status_10ms() const
{
    return m_gps_rtk_status_10ms;
}

/*!
 * @brief This function returns a reference to member gps_rtk_status_10ms
 * @return Reference to member gps_rtk_status_10ms
 */
int32_t& DDS_GpsImuInfo::gps_rtk_status_10ms()
{
    return m_gps_rtk_status_10ms;
}

/*!
 * @brief This function sets a value in member gps_lat_10ms
 * @param _gps_lat_10ms New value for member gps_lat_10ms
 */
void DDS_GpsImuInfo::gps_lat_10ms(
        double _gps_lat_10ms)
{
    m_gps_lat_10ms = _gps_lat_10ms;
}

/*!
 * @brief This function returns the value of member gps_lat_10ms
 * @return Value of member gps_lat_10ms
 */
double DDS_GpsImuInfo::gps_lat_10ms() const
{
    return m_gps_lat_10ms;
}

/*!
 * @brief This function returns a reference to member gps_lat_10ms
 * @return Reference to member gps_lat_10ms
 */
double& DDS_GpsImuInfo::gps_lat_10ms()
{
    return m_gps_lat_10ms;
}

/*!
 * @brief This function sets a value in member gps_lng_10ms
 * @param _gps_lng_10ms New value for member gps_lng_10ms
 */
void DDS_GpsImuInfo::gps_lng_10ms(
        double _gps_lng_10ms)
{
    m_gps_lng_10ms = _gps_lng_10ms;
}

/*!
 * @brief This function returns the value of member gps_lng_10ms
 * @return Value of member gps_lng_10ms
 */
double DDS_GpsImuInfo::gps_lng_10ms() const
{
    return m_gps_lng_10ms;
}

/*!
 * @brief This function returns a reference to member gps_lng_10ms
 * @return Reference to member gps_lng_10ms
 */
double& DDS_GpsImuInfo::gps_lng_10ms()
{
    return m_gps_lng_10ms;
}

/*!
 * @brief This function sets a value in member gps_heading_10ms
 * @param _gps_heading_10ms New value for member gps_heading_10ms
 */
void DDS_GpsImuInfo::gps_heading_10ms(
        float _gps_heading_10ms)
{
    m_gps_heading_10ms = _gps_heading_10ms;
}

/*!
 * @brief This function returns the value of member gps_heading_10ms
 * @return Value of member gps_heading_10ms
 */
float DDS_GpsImuInfo::gps_heading_10ms() const
{
    return m_gps_heading_10ms;
}

/*!
 * @brief This function returns a reference to member gps_heading_10ms
 * @return Reference to member gps_heading_10ms
 */
float& DDS_GpsImuInfo::gps_heading_10ms()
{
    return m_gps_heading_10ms;
}

/*!
 * @brief This function sets a value in member gps_ve_10ms
 * @param _gps_ve_10ms New value for member gps_ve_10ms
 */
void DDS_GpsImuInfo::gps_ve_10ms(
        float _gps_ve_10ms)
{
    m_gps_ve_10ms = _gps_ve_10ms;
}

/*!
 * @brief This function returns the value of member gps_ve_10ms
 * @return Value of member gps_ve_10ms
 */
float DDS_GpsImuInfo::gps_ve_10ms() const
{
    return m_gps_ve_10ms;
}

/*!
 * @brief This function returns a reference to member gps_ve_10ms
 * @return Reference to member gps_ve_10ms
 */
float& DDS_GpsImuInfo::gps_ve_10ms()
{
    return m_gps_ve_10ms;
}

/*!
 * @brief This function sets a value in member gps_vn_10ms
 * @param _gps_vn_10ms New value for member gps_vn_10ms
 */
void DDS_GpsImuInfo::gps_vn_10ms(
        float _gps_vn_10ms)
{
    m_gps_vn_10ms = _gps_vn_10ms;
}

/*!
 * @brief This function returns the value of member gps_vn_10ms
 * @return Value of member gps_vn_10ms
 */
float DDS_GpsImuInfo::gps_vn_10ms() const
{
    return m_gps_vn_10ms;
}

/*!
 * @brief This function returns a reference to member gps_vn_10ms
 * @return Reference to member gps_vn_10ms
 */
float& DDS_GpsImuInfo::gps_vn_10ms()
{
    return m_gps_vn_10ms;
}

/*!
 * @brief This function sets a value in member gps_vd_10ms
 * @param _gps_vd_10ms New value for member gps_vd_10ms
 */
void DDS_GpsImuInfo::gps_vd_10ms(
        float _gps_vd_10ms)
{
    m_gps_vd_10ms = _gps_vd_10ms;
}

/*!
 * @brief This function returns the value of member gps_vd_10ms
 * @return Value of member gps_vd_10ms
 */
float DDS_GpsImuInfo::gps_vd_10ms() const
{
    return m_gps_vd_10ms;
}

/*!
 * @brief This function returns a reference to member gps_vd_10ms
 * @return Reference to member gps_vd_10ms
 */
float& DDS_GpsImuInfo::gps_vd_10ms()
{
    return m_gps_vd_10ms;
}

/*!
 * @brief This function sets a value in member gps_speed_10ms
 * @param _gps_speed_10ms New value for member gps_speed_10ms
 */
void DDS_GpsImuInfo::gps_speed_10ms(
        float _gps_speed_10ms)
{
    m_gps_speed_10ms = _gps_speed_10ms;
}

/*!
 * @brief This function returns the value of member gps_speed_10ms
 * @return Value of member gps_speed_10ms
 */
float DDS_GpsImuInfo::gps_speed_10ms() const
{
    return m_gps_speed_10ms;
}

/*!
 * @brief This function returns a reference to member gps_speed_10ms
 * @return Reference to member gps_speed_10ms
 */
float& DDS_GpsImuInfo::gps_speed_10ms()
{
    return m_gps_speed_10ms;
}

/*!
 * @brief This function sets a value in member gps_days_to_speed_10ms
 * @param _gps_days_to_speed_10ms New value for member gps_days_to_speed_10ms
 */
void DDS_GpsImuInfo::gps_days_to_speed_10ms(
        float _gps_days_to_speed_10ms)
{
    m_gps_days_to_speed_10ms = _gps_days_to_speed_10ms;
}

/*!
 * @brief This function returns the value of member gps_days_to_speed_10ms
 * @return Value of member gps_days_to_speed_10ms
 */
float DDS_GpsImuInfo::gps_days_to_speed_10ms() const
{
    return m_gps_days_to_speed_10ms;
}

/*!
 * @brief This function returns a reference to member gps_days_to_speed_10ms
 * @return Reference to member gps_days_to_speed_10ms
 */
float& DDS_GpsImuInfo::gps_days_to_speed_10ms()
{
    return m_gps_days_to_speed_10ms;
}

/*!
 * @brief This function sets a value in member gps_height_10ms
 * @param _gps_height_10ms New value for member gps_height_10ms
 */
void DDS_GpsImuInfo::gps_height_10ms(
        float _gps_height_10ms)
{
    m_gps_height_10ms = _gps_height_10ms;
}

/*!
 * @brief This function returns the value of member gps_height_10ms
 * @return Value of member gps_height_10ms
 */
float DDS_GpsImuInfo::gps_height_10ms() const
{
    return m_gps_height_10ms;
}

/*!
 * @brief This function returns a reference to member gps_height_10ms
 * @return Reference to member gps_height_10ms
 */
float& DDS_GpsImuInfo::gps_height_10ms()
{
    return m_gps_height_10ms;
}

/*!
 * @brief This function sets a value in member imu_acc_y_10ms
 * @param _imu_acc_y_10ms New value for member imu_acc_y_10ms
 */
void DDS_GpsImuInfo::imu_acc_y_10ms(
        float _imu_acc_y_10ms)
{
    m_imu_acc_y_10ms = _imu_acc_y_10ms;
}

/*!
 * @brief This function returns the value of member imu_acc_y_10ms
 * @return Value of member imu_acc_y_10ms
 */
float DDS_GpsImuInfo::imu_acc_y_10ms() const
{
    return m_imu_acc_y_10ms;
}

/*!
 * @brief This function returns a reference to member imu_acc_y_10ms
 * @return Reference to member imu_acc_y_10ms
 */
float& DDS_GpsImuInfo::imu_acc_y_10ms()
{
    return m_imu_acc_y_10ms;
}

/*!
 * @brief This function sets a value in member imu_acc_x_10ms
 * @param _imu_acc_x_10ms New value for member imu_acc_x_10ms
 */
void DDS_GpsImuInfo::imu_acc_x_10ms(
        float _imu_acc_x_10ms)
{
    m_imu_acc_x_10ms = _imu_acc_x_10ms;
}

/*!
 * @brief This function returns the value of member imu_acc_x_10ms
 * @return Value of member imu_acc_x_10ms
 */
float DDS_GpsImuInfo::imu_acc_x_10ms() const
{
    return m_imu_acc_x_10ms;
}

/*!
 * @brief This function returns a reference to member imu_acc_x_10ms
 * @return Reference to member imu_acc_x_10ms
 */
float& DDS_GpsImuInfo::imu_acc_x_10ms()
{
    return m_imu_acc_x_10ms;
}

/*!
 * @brief This function sets a value in member imu_yaw_z_10ms
 * @param _imu_yaw_z_10ms New value for member imu_yaw_z_10ms
 */
void DDS_GpsImuInfo::imu_yaw_z_10ms(
        float _imu_yaw_z_10ms)
{
    m_imu_yaw_z_10ms = _imu_yaw_z_10ms;
}

/*!
 * @brief This function returns the value of member imu_yaw_z_10ms
 * @return Value of member imu_yaw_z_10ms
 */
float DDS_GpsImuInfo::imu_yaw_z_10ms() const
{
    return m_imu_yaw_z_10ms;
}

/*!
 * @brief This function returns a reference to member imu_yaw_z_10ms
 * @return Reference to member imu_yaw_z_10ms
 */
float& DDS_GpsImuInfo::imu_yaw_z_10ms()
{
    return m_imu_yaw_z_10ms;
}

/*!
 * @brief This function sets a value in member imu_v_y_10ms
 * @param _imu_v_y_10ms New value for member imu_v_y_10ms
 */
void DDS_GpsImuInfo::imu_v_y_10ms(
        float _imu_v_y_10ms)
{
    m_imu_v_y_10ms = _imu_v_y_10ms;
}

/*!
 * @brief This function returns the value of member imu_v_y_10ms
 * @return Value of member imu_v_y_10ms
 */
float DDS_GpsImuInfo::imu_v_y_10ms() const
{
    return m_imu_v_y_10ms;
}

/*!
 * @brief This function returns a reference to member imu_v_y_10ms
 * @return Reference to member imu_v_y_10ms
 */
float& DDS_GpsImuInfo::imu_v_y_10ms()
{
    return m_imu_v_y_10ms;
}

/*!
 * @brief This function sets a value in member imu_v_x_10ms
 * @param _imu_v_x_10ms New value for member imu_v_x_10ms
 */
void DDS_GpsImuInfo::imu_v_x_10ms(
        float _imu_v_x_10ms)
{
    m_imu_v_x_10ms = _imu_v_x_10ms;
}

/*!
 * @brief This function returns the value of member imu_v_x_10ms
 * @return Value of member imu_v_x_10ms
 */
float DDS_GpsImuInfo::imu_v_x_10ms() const
{
    return m_imu_v_x_10ms;
}

/*!
 * @brief This function returns a reference to member imu_v_x_10ms
 * @return Reference to member imu_v_x_10ms
 */
float& DDS_GpsImuInfo::imu_v_x_10ms()
{
    return m_imu_v_x_10ms;
}

/*!
 * @brief This function sets a value in member imu_v_z_10ms
 * @param _imu_v_z_10ms New value for member imu_v_z_10ms
 */
void DDS_GpsImuInfo::imu_v_z_10ms(
        float _imu_v_z_10ms)
{
    m_imu_v_z_10ms = _imu_v_z_10ms;
}

/*!
 * @brief This function returns the value of member imu_v_z_10ms
 * @return Value of member imu_v_z_10ms
 */
float DDS_GpsImuInfo::imu_v_z_10ms() const
{
    return m_imu_v_z_10ms;
}

/*!
 * @brief This function returns a reference to member imu_v_z_10ms
 * @return Reference to member imu_v_z_10ms
 */
float& DDS_GpsImuInfo::imu_v_z_10ms()
{
    return m_imu_v_z_10ms;
}

/*!
 * @brief This function sets a value in member gps_satellite_front_10ms
 * @param _gps_satellite_front_10ms New value for member gps_satellite_front_10ms
 */
void DDS_GpsImuInfo::gps_satellite_front_10ms(
        int32_t _gps_satellite_front_10ms)
{
    m_gps_satellite_front_10ms = _gps_satellite_front_10ms;
}

/*!
 * @brief This function returns the value of member gps_satellite_front_10ms
 * @return Value of member gps_satellite_front_10ms
 */
int32_t DDS_GpsImuInfo::gps_satellite_front_10ms() const
{
    return m_gps_satellite_front_10ms;
}

/*!
 * @brief This function returns a reference to member gps_satellite_front_10ms
 * @return Reference to member gps_satellite_front_10ms
 */
int32_t& DDS_GpsImuInfo::gps_satellite_front_10ms()
{
    return m_gps_satellite_front_10ms;
}

/*!
 * @brief This function sets a value in member gps_satellite_rear_10ms
 * @param _gps_satellite_rear_10ms New value for member gps_satellite_rear_10ms
 */
void DDS_GpsImuInfo::gps_satellite_rear_10ms(
        int32_t _gps_satellite_rear_10ms)
{
    m_gps_satellite_rear_10ms = _gps_satellite_rear_10ms;
}

/*!
 * @brief This function returns the value of member gps_satellite_rear_10ms
 * @return Value of member gps_satellite_rear_10ms
 */
int32_t DDS_GpsImuInfo::gps_satellite_rear_10ms() const
{
    return m_gps_satellite_rear_10ms;
}

/*!
 * @brief This function returns a reference to member gps_satellite_rear_10ms
 * @return Reference to member gps_satellite_rear_10ms
 */
int32_t& DDS_GpsImuInfo::gps_satellite_rear_10ms()
{
    return m_gps_satellite_rear_10ms;
}

/*!
 * @brief This function sets a value in member gps_yaw_10ms
 * @param _gps_yaw_10ms New value for member gps_yaw_10ms
 */
void DDS_GpsImuInfo::gps_yaw_10ms(
        float _gps_yaw_10ms)
{
    m_gps_yaw_10ms = _gps_yaw_10ms;
}

/*!
 * @brief This function returns the value of member gps_yaw_10ms
 * @return Value of member gps_yaw_10ms
 */
float DDS_GpsImuInfo::gps_yaw_10ms() const
{
    return m_gps_yaw_10ms;
}

/*!
 * @brief This function returns a reference to member gps_yaw_10ms
 * @return Reference to member gps_yaw_10ms
 */
float& DDS_GpsImuInfo::gps_yaw_10ms()
{
    return m_gps_yaw_10ms;
}

/*!
 * @brief This function sets a value in member gps_roll_10ms
 * @param _gps_roll_10ms New value for member gps_roll_10ms
 */
void DDS_GpsImuInfo::gps_roll_10ms(
        float _gps_roll_10ms)
{
    m_gps_roll_10ms = _gps_roll_10ms;
}

/*!
 * @brief This function returns the value of member gps_roll_10ms
 * @return Value of member gps_roll_10ms
 */
float DDS_GpsImuInfo::gps_roll_10ms() const
{
    return m_gps_roll_10ms;
}

/*!
 * @brief This function returns a reference to member gps_roll_10ms
 * @return Reference to member gps_roll_10ms
 */
float& DDS_GpsImuInfo::gps_roll_10ms()
{
    return m_gps_roll_10ms;
}

/*!
 * @brief This function sets a value in member gps_pitch_10ms
 * @param _gps_pitch_10ms New value for member gps_pitch_10ms
 */
void DDS_GpsImuInfo::gps_pitch_10ms(
        float _gps_pitch_10ms)
{
    m_gps_pitch_10ms = _gps_pitch_10ms;
}

/*!
 * @brief This function returns the value of member gps_pitch_10ms
 * @return Value of member gps_pitch_10ms
 */
float DDS_GpsImuInfo::gps_pitch_10ms() const
{
    return m_gps_pitch_10ms;
}

/*!
 * @brief This function returns a reference to member gps_pitch_10ms
 * @return Reference to member gps_pitch_10ms
 */
float& DDS_GpsImuInfo::gps_pitch_10ms()
{
    return m_gps_pitch_10ms;
}

/*!
 * @brief This function sets a value in member course_Angle_condition
 * @param _course_Angle_condition New value for member course_Angle_condition
 */
void DDS_GpsImuInfo::course_Angle_condition(
        uint32_t _course_Angle_condition)
{
    m_course_Angle_condition = _course_Angle_condition;
}

/*!
 * @brief This function returns the value of member course_Angle_condition
 * @return Value of member course_Angle_condition
 */
uint32_t DDS_GpsImuInfo::course_Angle_condition() const
{
    return m_course_Angle_condition;
}

/*!
 * @brief This function returns a reference to member course_Angle_condition
 * @return Reference to member course_Angle_condition
 */
uint32_t& DDS_GpsImuInfo::course_Angle_condition()
{
    return m_course_Angle_condition;
}

/*!
 * @brief This function sets a value in member vehicle_status_marker
 * @param _vehicle_status_marker New value for member vehicle_status_marker
 */
void DDS_GpsImuInfo::vehicle_status_marker(
        uint32_t _vehicle_status_marker)
{
    m_vehicle_status_marker = _vehicle_status_marker;
}

/*!
 * @brief This function returns the value of member vehicle_status_marker
 * @return Value of member vehicle_status_marker
 */
uint32_t DDS_GpsImuInfo::vehicle_status_marker() const
{
    return m_vehicle_status_marker;
}

/*!
 * @brief This function returns a reference to member vehicle_status_marker
 * @return Reference to member vehicle_status_marker
 */
uint32_t& DDS_GpsImuInfo::vehicle_status_marker()
{
    return m_vehicle_status_marker;
}

/*!
 * @brief This function sets a value in member GpsNumSatsUsed
 * @param _GpsNumSatsUsed New value for member GpsNumSatsUsed
 */
void DDS_GpsImuInfo::GpsNumSatsUsed(
        uint32_t _GpsNumSatsUsed)
{
    m_GpsNumSatsUsed = _GpsNumSatsUsed;
}

/*!
 * @brief This function returns the value of member GpsNumSatsUsed
 * @return Value of member GpsNumSatsUsed
 */
uint32_t DDS_GpsImuInfo::GpsNumSatsUsed() const
{
    return m_GpsNumSatsUsed;
}

/*!
 * @brief This function returns a reference to member GpsNumSatsUsed
 * @return Reference to member GpsNumSatsUsed
 */
uint32_t& DDS_GpsImuInfo::GpsNumSatsUsed()
{
    return m_GpsNumSatsUsed;
}

/*!
 * @brief This function sets a value in member GpsNumSats2Used
 * @param _GpsNumSats2Used New value for member GpsNumSats2Used
 */
void DDS_GpsImuInfo::GpsNumSats2Used(
        uint32_t _GpsNumSats2Used)
{
    m_GpsNumSats2Used = _GpsNumSats2Used;
}

/*!
 * @brief This function returns the value of member GpsNumSats2Used
 * @return Value of member GpsNumSats2Used
 */
uint32_t DDS_GpsImuInfo::GpsNumSats2Used() const
{
    return m_GpsNumSats2Used;
}

/*!
 * @brief This function returns a reference to member GpsNumSats2Used
 * @return Reference to member GpsNumSats2Used
 */
uint32_t& DDS_GpsImuInfo::GpsNumSats2Used()
{
    return m_GpsNumSats2Used;
}

/*!
 * @brief This function sets a value in member integrated_navigation_overall_status_flag_bits
 * @param _integrated_navigation_overall_status_flag_bits New value for member integrated_navigation_overall_status_flag_bits
 */
void DDS_GpsImuInfo::integrated_navigation_overall_status_flag_bits(
        uint32_t _integrated_navigation_overall_status_flag_bits)
{
    m_integrated_navigation_overall_status_flag_bits = _integrated_navigation_overall_status_flag_bits;
}

/*!
 * @brief This function returns the value of member integrated_navigation_overall_status_flag_bits
 * @return Value of member integrated_navigation_overall_status_flag_bits
 */
uint32_t DDS_GpsImuInfo::integrated_navigation_overall_status_flag_bits() const
{
    return m_integrated_navigation_overall_status_flag_bits;
}

/*!
 * @brief This function returns a reference to member integrated_navigation_overall_status_flag_bits
 * @return Reference to member integrated_navigation_overall_status_flag_bits
 */
uint32_t& DDS_GpsImuInfo::integrated_navigation_overall_status_flag_bits()
{
    return m_integrated_navigation_overall_status_flag_bits;
}


size_t DDS_GpsImuInfo::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;








































    return current_align;
}

bool DDS_GpsImuInfo::isKeyDefined()
{
    return false;
}

void DDS_GpsImuInfo::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
                                         
}

DDS_IMU::DDS_IMU()
{
    // m_stamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@59309333
    m_stamp = 0;
    // m_orientation com.eprosima.idl.parser.typecode.ArrayTypeCode@5876a9af
    memset(&m_orientation, 0, (4) * 8);
    // m_orientation_covariance com.eprosima.idl.parser.typecode.ArrayTypeCode@6572421
    memset(&m_orientation_covariance, 0, (9) * 8);
    // m_angular_velocity com.eprosima.idl.parser.typecode.ArrayTypeCode@6b81ce95
    memset(&m_angular_velocity, 0, (3) * 8);
    // m_angular_velocity_covariance com.eprosima.idl.parser.typecode.ArrayTypeCode@2a798d51
    memset(&m_angular_velocity_covariance, 0, (9) * 8);
    // m_linear_acceleration com.eprosima.idl.parser.typecode.ArrayTypeCode@37afeb11
    memset(&m_linear_acceleration, 0, (3) * 8);
    // m_linear_acceleration_covariance com.eprosima.idl.parser.typecode.ArrayTypeCode@515aebb0
    memset(&m_linear_acceleration_covariance, 0, (9) * 8);

}

DDS_IMU::~DDS_IMU()
{







}

DDS_IMU::DDS_IMU(
        const DDS_IMU& x)
{
    m_stamp = x.m_stamp;
    m_orientation = x.m_orientation;
    m_orientation_covariance = x.m_orientation_covariance;
    m_angular_velocity = x.m_angular_velocity;
    m_angular_velocity_covariance = x.m_angular_velocity_covariance;
    m_linear_acceleration = x.m_linear_acceleration;
    m_linear_acceleration_covariance = x.m_linear_acceleration_covariance;
}

DDS_IMU::DDS_IMU(
        DDS_IMU&& x)
{
    m_stamp = x.m_stamp;
    m_orientation = std::move(x.m_orientation);
    m_orientation_covariance = std::move(x.m_orientation_covariance);
    m_angular_velocity = std::move(x.m_angular_velocity);
    m_angular_velocity_covariance = std::move(x.m_angular_velocity_covariance);
    m_linear_acceleration = std::move(x.m_linear_acceleration);
    m_linear_acceleration_covariance = std::move(x.m_linear_acceleration_covariance);
}

DDS_IMU& DDS_IMU::operator =(
        const DDS_IMU& x)
{

    m_stamp = x.m_stamp;
    m_orientation = x.m_orientation;
    m_orientation_covariance = x.m_orientation_covariance;
    m_angular_velocity = x.m_angular_velocity;
    m_angular_velocity_covariance = x.m_angular_velocity_covariance;
    m_linear_acceleration = x.m_linear_acceleration;
    m_linear_acceleration_covariance = x.m_linear_acceleration_covariance;

    return *this;
}

DDS_IMU& DDS_IMU::operator =(
        DDS_IMU&& x)
{

    m_stamp = x.m_stamp;
    m_orientation = std::move(x.m_orientation);
    m_orientation_covariance = std::move(x.m_orientation_covariance);
    m_angular_velocity = std::move(x.m_angular_velocity);
    m_angular_velocity_covariance = std::move(x.m_angular_velocity_covariance);
    m_linear_acceleration = std::move(x.m_linear_acceleration);
    m_linear_acceleration_covariance = std::move(x.m_linear_acceleration_covariance);

    return *this;
}

size_t DDS_IMU::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += ((4) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += ((9) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += ((3) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += ((9) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += ((3) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += ((9) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);



    return current_alignment - initial_alignment;
}

size_t DDS_IMU::getCdrSerializedSize(
        const DDS_IMU& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    if ((4) > 0)
    {
        current_alignment += ((4) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
    }

    if ((9) > 0)
    {
        current_alignment += ((9) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
    }

    if ((3) > 0)
    {
        current_alignment += ((3) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
    }

    if ((9) > 0)
    {
        current_alignment += ((9) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
    }

    if ((3) > 0)
    {
        current_alignment += ((3) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
    }

    if ((9) > 0)
    {
        current_alignment += ((9) * 8) + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
    }


    return current_alignment - initial_alignment;
}

void DDS_IMU::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_stamp;
    scdr << m_orientation;

    scdr << m_orientation_covariance;

    scdr << m_angular_velocity;

    scdr << m_angular_velocity_covariance;

    scdr << m_linear_acceleration;

    scdr << m_linear_acceleration_covariance;


}

void DDS_IMU::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_stamp;
    dcdr >> m_orientation;

    dcdr >> m_orientation_covariance;

    dcdr >> m_angular_velocity;

    dcdr >> m_angular_velocity_covariance;

    dcdr >> m_linear_acceleration;

    dcdr >> m_linear_acceleration_covariance;

}

/*!
 * @brief This function sets a value in member stamp
 * @param _stamp New value for member stamp
 */
void DDS_IMU::stamp(
        double _stamp)
{
    m_stamp = _stamp;
}

/*!
 * @brief This function returns the value of member stamp
 * @return Value of member stamp
 */
double DDS_IMU::stamp() const
{
    return m_stamp;
}

/*!
 * @brief This function returns a reference to member stamp
 * @return Reference to member stamp
 */
double& DDS_IMU::stamp()
{
    return m_stamp;
}

/*!
 * @brief This function copies the value in member orientation
 * @param _orientation New value to be copied in member orientation
 */
void DDS_IMU::orientation(
        const std::array<double, 4>& _orientation)
{
    m_orientation = _orientation;
}

/*!
 * @brief This function moves the value in member orientation
 * @param _orientation New value to be moved in member orientation
 */
void DDS_IMU::orientation(
        std::array<double, 4>&& _orientation)
{
    m_orientation = std::move(_orientation);
}

/*!
 * @brief This function returns a constant reference to member orientation
 * @return Constant reference to member orientation
 */
const std::array<double, 4>& DDS_IMU::orientation() const
{
    return m_orientation;
}

/*!
 * @brief This function returns a reference to member orientation
 * @return Reference to member orientation
 */
std::array<double, 4>& DDS_IMU::orientation()
{
    return m_orientation;
}
/*!
 * @brief This function copies the value in member orientation_covariance
 * @param _orientation_covariance New value to be copied in member orientation_covariance
 */
void DDS_IMU::orientation_covariance(
        const std::array<double, 9>& _orientation_covariance)
{
    m_orientation_covariance = _orientation_covariance;
}

/*!
 * @brief This function moves the value in member orientation_covariance
 * @param _orientation_covariance New value to be moved in member orientation_covariance
 */
void DDS_IMU::orientation_covariance(
        std::array<double, 9>&& _orientation_covariance)
{
    m_orientation_covariance = std::move(_orientation_covariance);
}

/*!
 * @brief This function returns a constant reference to member orientation_covariance
 * @return Constant reference to member orientation_covariance
 */
const std::array<double, 9>& DDS_IMU::orientation_covariance() const
{
    return m_orientation_covariance;
}

/*!
 * @brief This function returns a reference to member orientation_covariance
 * @return Reference to member orientation_covariance
 */
std::array<double, 9>& DDS_IMU::orientation_covariance()
{
    return m_orientation_covariance;
}
/*!
 * @brief This function copies the value in member angular_velocity
 * @param _angular_velocity New value to be copied in member angular_velocity
 */
void DDS_IMU::angular_velocity(
        const std::array<double, 3>& _angular_velocity)
{
    m_angular_velocity = _angular_velocity;
}

/*!
 * @brief This function moves the value in member angular_velocity
 * @param _angular_velocity New value to be moved in member angular_velocity
 */
void DDS_IMU::angular_velocity(
        std::array<double, 3>&& _angular_velocity)
{
    m_angular_velocity = std::move(_angular_velocity);
}

/*!
 * @brief This function returns a constant reference to member angular_velocity
 * @return Constant reference to member angular_velocity
 */
const std::array<double, 3>& DDS_IMU::angular_velocity() const
{
    return m_angular_velocity;
}

/*!
 * @brief This function returns a reference to member angular_velocity
 * @return Reference to member angular_velocity
 */
std::array<double, 3>& DDS_IMU::angular_velocity()
{
    return m_angular_velocity;
}
/*!
 * @brief This function copies the value in member angular_velocity_covariance
 * @param _angular_velocity_covariance New value to be copied in member angular_velocity_covariance
 */
void DDS_IMU::angular_velocity_covariance(
        const std::array<double, 9>& _angular_velocity_covariance)
{
    m_angular_velocity_covariance = _angular_velocity_covariance;
}

/*!
 * @brief This function moves the value in member angular_velocity_covariance
 * @param _angular_velocity_covariance New value to be moved in member angular_velocity_covariance
 */
void DDS_IMU::angular_velocity_covariance(
        std::array<double, 9>&& _angular_velocity_covariance)
{
    m_angular_velocity_covariance = std::move(_angular_velocity_covariance);
}

/*!
 * @brief This function returns a constant reference to member angular_velocity_covariance
 * @return Constant reference to member angular_velocity_covariance
 */
const std::array<double, 9>& DDS_IMU::angular_velocity_covariance() const
{
    return m_angular_velocity_covariance;
}

/*!
 * @brief This function returns a reference to member angular_velocity_covariance
 * @return Reference to member angular_velocity_covariance
 */
std::array<double, 9>& DDS_IMU::angular_velocity_covariance()
{
    return m_angular_velocity_covariance;
}
/*!
 * @brief This function copies the value in member linear_acceleration
 * @param _linear_acceleration New value to be copied in member linear_acceleration
 */
void DDS_IMU::linear_acceleration(
        const std::array<double, 3>& _linear_acceleration)
{
    m_linear_acceleration = _linear_acceleration;
}

/*!
 * @brief This function moves the value in member linear_acceleration
 * @param _linear_acceleration New value to be moved in member linear_acceleration
 */
void DDS_IMU::linear_acceleration(
        std::array<double, 3>&& _linear_acceleration)
{
    m_linear_acceleration = std::move(_linear_acceleration);
}

/*!
 * @brief This function returns a constant reference to member linear_acceleration
 * @return Constant reference to member linear_acceleration
 */
const std::array<double, 3>& DDS_IMU::linear_acceleration() const
{
    return m_linear_acceleration;
}

/*!
 * @brief This function returns a reference to member linear_acceleration
 * @return Reference to member linear_acceleration
 */
std::array<double, 3>& DDS_IMU::linear_acceleration()
{
    return m_linear_acceleration;
}
/*!
 * @brief This function copies the value in member linear_acceleration_covariance
 * @param _linear_acceleration_covariance New value to be copied in member linear_acceleration_covariance
 */
void DDS_IMU::linear_acceleration_covariance(
        const std::array<double, 9>& _linear_acceleration_covariance)
{
    m_linear_acceleration_covariance = _linear_acceleration_covariance;
}

/*!
 * @brief This function moves the value in member linear_acceleration_covariance
 * @param _linear_acceleration_covariance New value to be moved in member linear_acceleration_covariance
 */
void DDS_IMU::linear_acceleration_covariance(
        std::array<double, 9>&& _linear_acceleration_covariance)
{
    m_linear_acceleration_covariance = std::move(_linear_acceleration_covariance);
}

/*!
 * @brief This function returns a constant reference to member linear_acceleration_covariance
 * @return Constant reference to member linear_acceleration_covariance
 */
const std::array<double, 9>& DDS_IMU::linear_acceleration_covariance() const
{
    return m_linear_acceleration_covariance;
}

/*!
 * @brief This function returns a reference to member linear_acceleration_covariance
 * @return Reference to member linear_acceleration_covariance
 */
std::array<double, 9>& DDS_IMU::linear_acceleration_covariance()
{
    return m_linear_acceleration_covariance;
}

size_t DDS_IMU::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;










    return current_align;
}

bool DDS_IMU::isKeyDefined()
{
    return false;
}

void DDS_IMU::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
           
}

DDS_RTK::DDS_RTK()
{
    // m_stamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@245b4bdc
    m_stamp = 0;
    // m_longitude com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6c64cb25
    m_longitude = 0.0;
    // m_latitude com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6ae5aa72
    m_latitude = 0.0;
    // m_altitude com.eprosima.idl.parser.typecode.PrimitiveTypeCode@222545dc
    m_altitude = 0.0;
    // m_roll com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5c5eefef
    m_roll = 0.0;
    // m_pitch com.eprosima.idl.parser.typecode.PrimitiveTypeCode@16293aa2
    m_pitch = 0.0;
    // m_yaw com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5158b42f
    m_yaw = 0.0;
    // m_ve com.eprosima.idl.parser.typecode.PrimitiveTypeCode@595b007d
    m_ve = 0.0;
    // m_vn com.eprosima.idl.parser.typecode.PrimitiveTypeCode@72d1ad2e
    m_vn = 0.0;
    // m_vu com.eprosima.idl.parser.typecode.PrimitiveTypeCode@2d7275fc
    m_vu = 0.0;
    // m_rtk_status com.eprosima.idl.parser.typecode.PrimitiveTypeCode@399f45b1
    m_rtk_status = 0;

}

DDS_RTK::~DDS_RTK()
{











}

DDS_RTK::DDS_RTK(
        const DDS_RTK& x)
{
    m_stamp = x.m_stamp;
    m_longitude = x.m_longitude;
    m_latitude = x.m_latitude;
    m_altitude = x.m_altitude;
    m_roll = x.m_roll;
    m_pitch = x.m_pitch;
    m_yaw = x.m_yaw;
    m_ve = x.m_ve;
    m_vn = x.m_vn;
    m_vu = x.m_vu;
    m_rtk_status = x.m_rtk_status;
}

DDS_RTK::DDS_RTK(
        DDS_RTK&& x)
{
    m_stamp = x.m_stamp;
    m_longitude = x.m_longitude;
    m_latitude = x.m_latitude;
    m_altitude = x.m_altitude;
    m_roll = x.m_roll;
    m_pitch = x.m_pitch;
    m_yaw = x.m_yaw;
    m_ve = x.m_ve;
    m_vn = x.m_vn;
    m_vu = x.m_vu;
    m_rtk_status = x.m_rtk_status;
}

DDS_RTK& DDS_RTK::operator =(
        const DDS_RTK& x)
{

    m_stamp = x.m_stamp;
    m_longitude = x.m_longitude;
    m_latitude = x.m_latitude;
    m_altitude = x.m_altitude;
    m_roll = x.m_roll;
    m_pitch = x.m_pitch;
    m_yaw = x.m_yaw;
    m_ve = x.m_ve;
    m_vn = x.m_vn;
    m_vu = x.m_vu;
    m_rtk_status = x.m_rtk_status;

    return *this;
}

DDS_RTK& DDS_RTK::operator =(
        DDS_RTK&& x)
{

    m_stamp = x.m_stamp;
    m_longitude = x.m_longitude;
    m_latitude = x.m_latitude;
    m_altitude = x.m_altitude;
    m_roll = x.m_roll;
    m_pitch = x.m_pitch;
    m_yaw = x.m_yaw;
    m_ve = x.m_ve;
    m_vn = x.m_vn;
    m_vu = x.m_vu;
    m_rtk_status = x.m_rtk_status;

    return *this;
}

size_t DDS_RTK::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

size_t DDS_RTK::getCdrSerializedSize(
        const DDS_RTK& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

void DDS_RTK::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_stamp;
    scdr << m_longitude;
    scdr << m_latitude;
    scdr << m_altitude;
    scdr << m_roll;
    scdr << m_pitch;
    scdr << m_yaw;
    scdr << m_ve;
    scdr << m_vn;
    scdr << m_vu;
    scdr << m_rtk_status;

}

void DDS_RTK::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_stamp;
    dcdr >> m_longitude;
    dcdr >> m_latitude;
    dcdr >> m_altitude;
    dcdr >> m_roll;
    dcdr >> m_pitch;
    dcdr >> m_yaw;
    dcdr >> m_ve;
    dcdr >> m_vn;
    dcdr >> m_vu;
    dcdr >> m_rtk_status;
}

/*!
 * @brief This function sets a value in member stamp
 * @param _stamp New value for member stamp
 */
void DDS_RTK::stamp(
        double _stamp)
{
    m_stamp = _stamp;
}

/*!
 * @brief This function returns the value of member stamp
 * @return Value of member stamp
 */
double DDS_RTK::stamp() const
{
    return m_stamp;
}

/*!
 * @brief This function returns a reference to member stamp
 * @return Reference to member stamp
 */
double& DDS_RTK::stamp()
{
    return m_stamp;
}

/*!
 * @brief This function sets a value in member longitude
 * @param _longitude New value for member longitude
 */
void DDS_RTK::longitude(
        double _longitude)
{
    m_longitude = _longitude;
}

/*!
 * @brief This function returns the value of member longitude
 * @return Value of member longitude
 */
double DDS_RTK::longitude() const
{
    return m_longitude;
}

/*!
 * @brief This function returns a reference to member longitude
 * @return Reference to member longitude
 */
double& DDS_RTK::longitude()
{
    return m_longitude;
}

/*!
 * @brief This function sets a value in member latitude
 * @param _latitude New value for member latitude
 */
void DDS_RTK::latitude(
        double _latitude)
{
    m_latitude = _latitude;
}

/*!
 * @brief This function returns the value of member latitude
 * @return Value of member latitude
 */
double DDS_RTK::latitude() const
{
    return m_latitude;
}

/*!
 * @brief This function returns a reference to member latitude
 * @return Reference to member latitude
 */
double& DDS_RTK::latitude()
{
    return m_latitude;
}

/*!
 * @brief This function sets a value in member altitude
 * @param _altitude New value for member altitude
 */
void DDS_RTK::altitude(
        double _altitude)
{
    m_altitude = _altitude;
}

/*!
 * @brief This function returns the value of member altitude
 * @return Value of member altitude
 */
double DDS_RTK::altitude() const
{
    return m_altitude;
}

/*!
 * @brief This function returns a reference to member altitude
 * @return Reference to member altitude
 */
double& DDS_RTK::altitude()
{
    return m_altitude;
}

/*!
 * @brief This function sets a value in member roll
 * @param _roll New value for member roll
 */
void DDS_RTK::roll(
        double _roll)
{
    m_roll = _roll;
}

/*!
 * @brief This function returns the value of member roll
 * @return Value of member roll
 */
double DDS_RTK::roll() const
{
    return m_roll;
}

/*!
 * @brief This function returns a reference to member roll
 * @return Reference to member roll
 */
double& DDS_RTK::roll()
{
    return m_roll;
}

/*!
 * @brief This function sets a value in member pitch
 * @param _pitch New value for member pitch
 */
void DDS_RTK::pitch(
        double _pitch)
{
    m_pitch = _pitch;
}

/*!
 * @brief This function returns the value of member pitch
 * @return Value of member pitch
 */
double DDS_RTK::pitch() const
{
    return m_pitch;
}

/*!
 * @brief This function returns a reference to member pitch
 * @return Reference to member pitch
 */
double& DDS_RTK::pitch()
{
    return m_pitch;
}

/*!
 * @brief This function sets a value in member yaw
 * @param _yaw New value for member yaw
 */
void DDS_RTK::yaw(
        double _yaw)
{
    m_yaw = _yaw;
}

/*!
 * @brief This function returns the value of member yaw
 * @return Value of member yaw
 */
double DDS_RTK::yaw() const
{
    return m_yaw;
}

/*!
 * @brief This function returns a reference to member yaw
 * @return Reference to member yaw
 */
double& DDS_RTK::yaw()
{
    return m_yaw;
}

/*!
 * @brief This function sets a value in member ve
 * @param _ve New value for member ve
 */
void DDS_RTK::ve(
        double _ve)
{
    m_ve = _ve;
}

/*!
 * @brief This function returns the value of member ve
 * @return Value of member ve
 */
double DDS_RTK::ve() const
{
    return m_ve;
}

/*!
 * @brief This function returns a reference to member ve
 * @return Reference to member ve
 */
double& DDS_RTK::ve()
{
    return m_ve;
}

/*!
 * @brief This function sets a value in member vn
 * @param _vn New value for member vn
 */
void DDS_RTK::vn(
        double _vn)
{
    m_vn = _vn;
}

/*!
 * @brief This function returns the value of member vn
 * @return Value of member vn
 */
double DDS_RTK::vn() const
{
    return m_vn;
}

/*!
 * @brief This function returns a reference to member vn
 * @return Reference to member vn
 */
double& DDS_RTK::vn()
{
    return m_vn;
}

/*!
 * @brief This function sets a value in member vu
 * @param _vu New value for member vu
 */
void DDS_RTK::vu(
        double _vu)
{
    m_vu = _vu;
}

/*!
 * @brief This function returns the value of member vu
 * @return Value of member vu
 */
double DDS_RTK::vu() const
{
    return m_vu;
}

/*!
 * @brief This function returns a reference to member vu
 * @return Reference to member vu
 */
double& DDS_RTK::vu()
{
    return m_vu;
}

/*!
 * @brief This function sets a value in member rtk_status
 * @param _rtk_status New value for member rtk_status
 */
void DDS_RTK::rtk_status(
        uint8_t _rtk_status)
{
    m_rtk_status = _rtk_status;
}

/*!
 * @brief This function returns the value of member rtk_status
 * @return Value of member rtk_status
 */
uint8_t DDS_RTK::rtk_status() const
{
    return m_rtk_status;
}

/*!
 * @brief This function returns a reference to member rtk_status
 * @return Reference to member rtk_status
 */
uint8_t& DDS_RTK::rtk_status()
{
    return m_rtk_status;
}


size_t DDS_RTK::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;














    return current_align;
}

bool DDS_RTK::isKeyDefined()
{
    return false;
}

void DDS_RTK::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
               
}

DDS_Odometry::DDS_Odometry()
{
    // m_timestamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@38c6f217
    m_timestamp = 0;
    // m_x com.eprosima.idl.parser.typecode.PrimitiveTypeCode@478190fc
    m_x = 0.0;
    // m_y com.eprosima.idl.parser.typecode.PrimitiveTypeCode@79e2c065
    m_y = 0.0;
    // m_z com.eprosima.idl.parser.typecode.PrimitiveTypeCode@3a93b025
    m_z = 0.0;
    // m_qw com.eprosima.idl.parser.typecode.PrimitiveTypeCode@35cabb2a
    m_qw = 0.0;
    // m_qx com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7e07db1f
    m_qx = 0.0;
    // m_qy com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1189dd52
    m_qy = 0.0;
    // m_qz com.eprosima.idl.parser.typecode.PrimitiveTypeCode@36bc55de
    m_qz = 0.0;
    // m_vx com.eprosima.idl.parser.typecode.PrimitiveTypeCode@564fabc8
    m_vx = 0.0;
    // m_vy com.eprosima.idl.parser.typecode.PrimitiveTypeCode@16d04d3d
    m_vy = 0.0;
    // m_vz com.eprosima.idl.parser.typecode.PrimitiveTypeCode@49ec71f8
    m_vz = 0.0;
    // m_odom_status com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1d2adfbe
    m_odom_status = 0;

}

DDS_Odometry::~DDS_Odometry()
{












}

DDS_Odometry::DDS_Odometry(
        const DDS_Odometry& x)
{
    m_timestamp = x.m_timestamp;
    m_x = x.m_x;
    m_y = x.m_y;
    m_z = x.m_z;
    m_qw = x.m_qw;
    m_qx = x.m_qx;
    m_qy = x.m_qy;
    m_qz = x.m_qz;
    m_vx = x.m_vx;
    m_vy = x.m_vy;
    m_vz = x.m_vz;
    m_odom_status = x.m_odom_status;
}

DDS_Odometry::DDS_Odometry(
        DDS_Odometry&& x)
{
    m_timestamp = x.m_timestamp;
    m_x = x.m_x;
    m_y = x.m_y;
    m_z = x.m_z;
    m_qw = x.m_qw;
    m_qx = x.m_qx;
    m_qy = x.m_qy;
    m_qz = x.m_qz;
    m_vx = x.m_vx;
    m_vy = x.m_vy;
    m_vz = x.m_vz;
    m_odom_status = x.m_odom_status;
}

DDS_Odometry& DDS_Odometry::operator =(
        const DDS_Odometry& x)
{

    m_timestamp = x.m_timestamp;
    m_x = x.m_x;
    m_y = x.m_y;
    m_z = x.m_z;
    m_qw = x.m_qw;
    m_qx = x.m_qx;
    m_qy = x.m_qy;
    m_qz = x.m_qz;
    m_vx = x.m_vx;
    m_vy = x.m_vy;
    m_vz = x.m_vz;
    m_odom_status = x.m_odom_status;

    return *this;
}

DDS_Odometry& DDS_Odometry::operator =(
        DDS_Odometry&& x)
{

    m_timestamp = x.m_timestamp;
    m_x = x.m_x;
    m_y = x.m_y;
    m_z = x.m_z;
    m_qw = x.m_qw;
    m_qx = x.m_qx;
    m_qy = x.m_qy;
    m_qz = x.m_qz;
    m_vx = x.m_vx;
    m_vy = x.m_vy;
    m_vz = x.m_vz;
    m_odom_status = x.m_odom_status;

    return *this;
}

size_t DDS_Odometry::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

size_t DDS_Odometry::getCdrSerializedSize(
        const DDS_Odometry& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);



    return current_alignment - initial_alignment;
}

void DDS_Odometry::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_timestamp;
    scdr << m_x;
    scdr << m_y;
    scdr << m_z;
    scdr << m_qw;
    scdr << m_qx;
    scdr << m_qy;
    scdr << m_qz;
    scdr << m_vx;
    scdr << m_vy;
    scdr << m_vz;
    scdr << m_odom_status;

}

void DDS_Odometry::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_timestamp;
    dcdr >> m_x;
    dcdr >> m_y;
    dcdr >> m_z;
    dcdr >> m_qw;
    dcdr >> m_qx;
    dcdr >> m_qy;
    dcdr >> m_qz;
    dcdr >> m_vx;
    dcdr >> m_vy;
    dcdr >> m_vz;
    dcdr >> m_odom_status;
}

/*!
 * @brief This function sets a value in member timestamp
 * @param _timestamp New value for member timestamp
 */
void DDS_Odometry::timestamp(
        double _timestamp)
{
    m_timestamp = _timestamp;
}

/*!
 * @brief This function returns the value of member timestamp
 * @return Value of member timestamp
 */
double DDS_Odometry::timestamp() const
{
    return m_timestamp;
}

/*!
 * @brief This function returns a reference to member timestamp
 * @return Reference to member timestamp
 */
double& DDS_Odometry::timestamp()
{
    return m_timestamp;
}

/*!
 * @brief This function sets a value in member x
 * @param _x New value for member x
 */
void DDS_Odometry::x(
        double _x)
{
    m_x = _x;
}

/*!
 * @brief This function returns the value of member x
 * @return Value of member x
 */
double DDS_Odometry::x() const
{
    return m_x;
}

/*!
 * @brief This function returns a reference to member x
 * @return Reference to member x
 */
double& DDS_Odometry::x()
{
    return m_x;
}

/*!
 * @brief This function sets a value in member y
 * @param _y New value for member y
 */
void DDS_Odometry::y(
        double _y)
{
    m_y = _y;
}

/*!
 * @brief This function returns the value of member y
 * @return Value of member y
 */
double DDS_Odometry::y() const
{
    return m_y;
}

/*!
 * @brief This function returns a reference to member y
 * @return Reference to member y
 */
double& DDS_Odometry::y()
{
    return m_y;
}

/*!
 * @brief This function sets a value in member z
 * @param _z New value for member z
 */
void DDS_Odometry::z(
        double _z)
{
    m_z = _z;
}

/*!
 * @brief This function returns the value of member z
 * @return Value of member z
 */
double DDS_Odometry::z() const
{
    return m_z;
}

/*!
 * @brief This function returns a reference to member z
 * @return Reference to member z
 */
double& DDS_Odometry::z()
{
    return m_z;
}

/*!
 * @brief This function sets a value in member qw
 * @param _qw New value for member qw
 */
void DDS_Odometry::qw(
        double _qw)
{
    m_qw = _qw;
}

/*!
 * @brief This function returns the value of member qw
 * @return Value of member qw
 */
double DDS_Odometry::qw() const
{
    return m_qw;
}

/*!
 * @brief This function returns a reference to member qw
 * @return Reference to member qw
 */
double& DDS_Odometry::qw()
{
    return m_qw;
}

/*!
 * @brief This function sets a value in member qx
 * @param _qx New value for member qx
 */
void DDS_Odometry::qx(
        double _qx)
{
    m_qx = _qx;
}

/*!
 * @brief This function returns the value of member qx
 * @return Value of member qx
 */
double DDS_Odometry::qx() const
{
    return m_qx;
}

/*!
 * @brief This function returns a reference to member qx
 * @return Reference to member qx
 */
double& DDS_Odometry::qx()
{
    return m_qx;
}

/*!
 * @brief This function sets a value in member qy
 * @param _qy New value for member qy
 */
void DDS_Odometry::qy(
        double _qy)
{
    m_qy = _qy;
}

/*!
 * @brief This function returns the value of member qy
 * @return Value of member qy
 */
double DDS_Odometry::qy() const
{
    return m_qy;
}

/*!
 * @brief This function returns a reference to member qy
 * @return Reference to member qy
 */
double& DDS_Odometry::qy()
{
    return m_qy;
}

/*!
 * @brief This function sets a value in member qz
 * @param _qz New value for member qz
 */
void DDS_Odometry::qz(
        double _qz)
{
    m_qz = _qz;
}

/*!
 * @brief This function returns the value of member qz
 * @return Value of member qz
 */
double DDS_Odometry::qz() const
{
    return m_qz;
}

/*!
 * @brief This function returns a reference to member qz
 * @return Reference to member qz
 */
double& DDS_Odometry::qz()
{
    return m_qz;
}

/*!
 * @brief This function sets a value in member vx
 * @param _vx New value for member vx
 */
void DDS_Odometry::vx(
        double _vx)
{
    m_vx = _vx;
}

/*!
 * @brief This function returns the value of member vx
 * @return Value of member vx
 */
double DDS_Odometry::vx() const
{
    return m_vx;
}

/*!
 * @brief This function returns a reference to member vx
 * @return Reference to member vx
 */
double& DDS_Odometry::vx()
{
    return m_vx;
}

/*!
 * @brief This function sets a value in member vy
 * @param _vy New value for member vy
 */
void DDS_Odometry::vy(
        double _vy)
{
    m_vy = _vy;
}

/*!
 * @brief This function returns the value of member vy
 * @return Value of member vy
 */
double DDS_Odometry::vy() const
{
    return m_vy;
}

/*!
 * @brief This function returns a reference to member vy
 * @return Reference to member vy
 */
double& DDS_Odometry::vy()
{
    return m_vy;
}

/*!
 * @brief This function sets a value in member vz
 * @param _vz New value for member vz
 */
void DDS_Odometry::vz(
        double _vz)
{
    m_vz = _vz;
}

/*!
 * @brief This function returns the value of member vz
 * @return Value of member vz
 */
double DDS_Odometry::vz() const
{
    return m_vz;
}

/*!
 * @brief This function returns a reference to member vz
 * @return Reference to member vz
 */
double& DDS_Odometry::vz()
{
    return m_vz;
}

/*!
 * @brief This function sets a value in member odom_status
 * @param _odom_status New value for member odom_status
 */
void DDS_Odometry::odom_status(
        uint8_t _odom_status)
{
    m_odom_status = _odom_status;
}

/*!
 * @brief This function returns the value of member odom_status
 * @return Value of member odom_status
 */
uint8_t DDS_Odometry::odom_status() const
{
    return m_odom_status;
}

/*!
 * @brief This function returns a reference to member odom_status
 * @return Reference to member odom_status
 */
uint8_t& DDS_Odometry::odom_status()
{
    return m_odom_status;
}


size_t DDS_Odometry::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;















    return current_align;
}

bool DDS_Odometry::isKeyDefined()
{
    return false;
}

void DDS_Odometry::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
                
}

DDS_LidarCloudInfo::DDS_LidarCloudInfo()
{
    // m_timestamp com.eprosima.idl.parser.typecode.PrimitiveTypeCode@8f4ea7c
    m_timestamp = 0.0;
    // m_startRingIndex com.eprosima.idl.parser.typecode.SequenceTypeCode@436813f3

    // m_endRingIndex com.eprosima.idl.parser.typecode.SequenceTypeCode@74fe5c40

    // m_pointColInd com.eprosima.idl.parser.typecode.SequenceTypeCode@3febb011

    // m_pointRange com.eprosima.idl.parser.typecode.SequenceTypeCode@10e31a9a

    // m_imuAvailable com.eprosima.idl.parser.typecode.PrimitiveTypeCode@131774fe
    m_imuAvailable = 0;
    // m_odomAvailable com.eprosima.idl.parser.typecode.PrimitiveTypeCode@158d2680
    m_odomAvailable = 0;
    // m_imuRollInit com.eprosima.idl.parser.typecode.PrimitiveTypeCode@77847718
    m_imuRollInit = 0.0;
    // m_imuPitchInit com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7f3b84b8
    m_imuPitchInit = 0.0;
    // m_imuYawInit com.eprosima.idl.parser.typecode.PrimitiveTypeCode@57a3af25
    m_imuYawInit = 0.0;
    // m_initialGuessX com.eprosima.idl.parser.typecode.PrimitiveTypeCode@2b662a77
    m_initialGuessX = 0.0;
    // m_initialGuessY com.eprosima.idl.parser.typecode.PrimitiveTypeCode@7f0eb4b4
    m_initialGuessY = 0.0;
    // m_initialGuessZ com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5c33f1a9
    m_initialGuessZ = 0.0;
    // m_initialGuessRoll com.eprosima.idl.parser.typecode.PrimitiveTypeCode@1623b78d
    m_initialGuessRoll = 0.0;
    // m_initialGuessPitch com.eprosima.idl.parser.typecode.PrimitiveTypeCode@c8c12ac
    m_initialGuessPitch = 0.0;
    // m_initialGuessYaw com.eprosima.idl.parser.typecode.PrimitiveTypeCode@6adbc9d
    m_initialGuessYaw = 0.0;
    // m_cloud_deskewed com.eprosima.fastdds.idl.parser.typecode.StructTypeCode@4550bb58

    // m_cloud_corner com.eprosima.fastdds.idl.parser.typecode.StructTypeCode@4550bb58

    // m_cloud_surface com.eprosima.fastdds.idl.parser.typecode.StructTypeCode@4550bb58


}

DDS_LidarCloudInfo::~DDS_LidarCloudInfo()
{



















}

DDS_LidarCloudInfo::DDS_LidarCloudInfo(
        const DDS_LidarCloudInfo& x)
{
    m_timestamp = x.m_timestamp;
    m_startRingIndex = x.m_startRingIndex;
    m_endRingIndex = x.m_endRingIndex;
    m_pointColInd = x.m_pointColInd;
    m_pointRange = x.m_pointRange;
    m_imuAvailable = x.m_imuAvailable;
    m_odomAvailable = x.m_odomAvailable;
    m_imuRollInit = x.m_imuRollInit;
    m_imuPitchInit = x.m_imuPitchInit;
    m_imuYawInit = x.m_imuYawInit;
    m_initialGuessX = x.m_initialGuessX;
    m_initialGuessY = x.m_initialGuessY;
    m_initialGuessZ = x.m_initialGuessZ;
    m_initialGuessRoll = x.m_initialGuessRoll;
    m_initialGuessPitch = x.m_initialGuessPitch;
    m_initialGuessYaw = x.m_initialGuessYaw;
    m_cloud_deskewed = x.m_cloud_deskewed;
    m_cloud_corner = x.m_cloud_corner;
    m_cloud_surface = x.m_cloud_surface;
}

DDS_LidarCloudInfo::DDS_LidarCloudInfo(
        DDS_LidarCloudInfo&& x)
{
    m_timestamp = x.m_timestamp;
    m_startRingIndex = std::move(x.m_startRingIndex);
    m_endRingIndex = std::move(x.m_endRingIndex);
    m_pointColInd = std::move(x.m_pointColInd);
    m_pointRange = std::move(x.m_pointRange);
    m_imuAvailable = x.m_imuAvailable;
    m_odomAvailable = x.m_odomAvailable;
    m_imuRollInit = x.m_imuRollInit;
    m_imuPitchInit = x.m_imuPitchInit;
    m_imuYawInit = x.m_imuYawInit;
    m_initialGuessX = x.m_initialGuessX;
    m_initialGuessY = x.m_initialGuessY;
    m_initialGuessZ = x.m_initialGuessZ;
    m_initialGuessRoll = x.m_initialGuessRoll;
    m_initialGuessPitch = x.m_initialGuessPitch;
    m_initialGuessYaw = x.m_initialGuessYaw;
    m_cloud_deskewed = std::move(x.m_cloud_deskewed);
    m_cloud_corner = std::move(x.m_cloud_corner);
    m_cloud_surface = std::move(x.m_cloud_surface);
}

DDS_LidarCloudInfo& DDS_LidarCloudInfo::operator =(
        const DDS_LidarCloudInfo& x)
{

    m_timestamp = x.m_timestamp;
    m_startRingIndex = x.m_startRingIndex;
    m_endRingIndex = x.m_endRingIndex;
    m_pointColInd = x.m_pointColInd;
    m_pointRange = x.m_pointRange;
    m_imuAvailable = x.m_imuAvailable;
    m_odomAvailable = x.m_odomAvailable;
    m_imuRollInit = x.m_imuRollInit;
    m_imuPitchInit = x.m_imuPitchInit;
    m_imuYawInit = x.m_imuYawInit;
    m_initialGuessX = x.m_initialGuessX;
    m_initialGuessY = x.m_initialGuessY;
    m_initialGuessZ = x.m_initialGuessZ;
    m_initialGuessRoll = x.m_initialGuessRoll;
    m_initialGuessPitch = x.m_initialGuessPitch;
    m_initialGuessYaw = x.m_initialGuessYaw;
    m_cloud_deskewed = x.m_cloud_deskewed;
    m_cloud_corner = x.m_cloud_corner;
    m_cloud_surface = x.m_cloud_surface;

    return *this;
}

DDS_LidarCloudInfo& DDS_LidarCloudInfo::operator =(
        DDS_LidarCloudInfo&& x)
{

    m_timestamp = x.m_timestamp;
    m_startRingIndex = std::move(x.m_startRingIndex);
    m_endRingIndex = std::move(x.m_endRingIndex);
    m_pointColInd = std::move(x.m_pointColInd);
    m_pointRange = std::move(x.m_pointRange);
    m_imuAvailable = x.m_imuAvailable;
    m_odomAvailable = x.m_odomAvailable;
    m_imuRollInit = x.m_imuRollInit;
    m_imuPitchInit = x.m_imuPitchInit;
    m_imuYawInit = x.m_imuYawInit;
    m_initialGuessX = x.m_initialGuessX;
    m_initialGuessY = x.m_initialGuessY;
    m_initialGuessZ = x.m_initialGuessZ;
    m_initialGuessRoll = x.m_initialGuessRoll;
    m_initialGuessPitch = x.m_initialGuessPitch;
    m_initialGuessYaw = x.m_initialGuessYaw;
    m_cloud_deskewed = std::move(x.m_cloud_deskewed);
    m_cloud_corner = std::move(x.m_cloud_corner);
    m_cloud_surface = std::move(x.m_cloud_surface);

    return *this;
}

size_t DDS_LidarCloudInfo::getMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    current_alignment += (100 * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    current_alignment += (100 * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    current_alignment += (100 * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    current_alignment += (100 * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);



    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += DDS_LidarCloud::getMaxCdrSerializedSize(current_alignment);
    current_alignment += DDS_LidarCloud::getMaxCdrSerializedSize(current_alignment);
    current_alignment += DDS_LidarCloud::getMaxCdrSerializedSize(current_alignment);

    return current_alignment - initial_alignment;
}

size_t DDS_LidarCloudInfo::getCdrSerializedSize(
        const DDS_LidarCloudInfo& data,
        size_t current_alignment)
{
    (void)data;
    size_t initial_alignment = current_alignment;


    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    if (data.startRingIndex().size() > 0)
    {
        current_alignment += (data.startRingIndex().size() * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
    }



    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    if (data.endRingIndex().size() > 0)
    {
        current_alignment += (data.endRingIndex().size() * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
    }



    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    if (data.pointColInd().size() > 0)
    {
        current_alignment += (data.pointColInd().size() * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
    }



    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);

    if (data.pointRange().size() > 0)
    {
        current_alignment += (data.pointRange().size() * 4) + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
    }



    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);


    current_alignment += DDS_LidarCloud::getCdrSerializedSize(data.cloud_deskewed(), current_alignment);
    current_alignment += DDS_LidarCloud::getCdrSerializedSize(data.cloud_corner(), current_alignment);
    current_alignment += DDS_LidarCloud::getCdrSerializedSize(data.cloud_surface(), current_alignment);

    return current_alignment - initial_alignment;
}

void DDS_LidarCloudInfo::serialize(
        eprosima::fastcdr::Cdr& scdr) const
{

    scdr << m_timestamp;
    scdr << m_startRingIndex;
    scdr << m_endRingIndex;
    scdr << m_pointColInd;
    scdr << m_pointRange;
    scdr << m_imuAvailable;
    scdr << m_odomAvailable;
    scdr << m_imuRollInit;
    scdr << m_imuPitchInit;
    scdr << m_imuYawInit;
    scdr << m_initialGuessX;
    scdr << m_initialGuessY;
    scdr << m_initialGuessZ;
    scdr << m_initialGuessRoll;
    scdr << m_initialGuessPitch;
    scdr << m_initialGuessYaw;
    scdr << m_cloud_deskewed;
    scdr << m_cloud_corner;
    scdr << m_cloud_surface;

}

void DDS_LidarCloudInfo::deserialize(
        eprosima::fastcdr::Cdr& dcdr)
{

    dcdr >> m_timestamp;
    dcdr >> m_startRingIndex;
    dcdr >> m_endRingIndex;
    dcdr >> m_pointColInd;
    dcdr >> m_pointRange;
    dcdr >> m_imuAvailable;
    dcdr >> m_odomAvailable;
    dcdr >> m_imuRollInit;
    dcdr >> m_imuPitchInit;
    dcdr >> m_imuYawInit;
    dcdr >> m_initialGuessX;
    dcdr >> m_initialGuessY;
    dcdr >> m_initialGuessZ;
    dcdr >> m_initialGuessRoll;
    dcdr >> m_initialGuessPitch;
    dcdr >> m_initialGuessYaw;
    dcdr >> m_cloud_deskewed;
    dcdr >> m_cloud_corner;
    dcdr >> m_cloud_surface;
}

/*!
 * @brief This function sets a value in member timestamp
 * @param _timestamp New value for member timestamp
 */
void DDS_LidarCloudInfo::timestamp(
        double _timestamp)
{
    m_timestamp = _timestamp;
}

/*!
 * @brief This function returns the value of member timestamp
 * @return Value of member timestamp
 */
double DDS_LidarCloudInfo::timestamp() const
{
    return m_timestamp;
}

/*!
 * @brief This function returns a reference to member timestamp
 * @return Reference to member timestamp
 */
double& DDS_LidarCloudInfo::timestamp()
{
    return m_timestamp;
}

/*!
 * @brief This function copies the value in member startRingIndex
 * @param _startRingIndex New value to be copied in member startRingIndex
 */
void DDS_LidarCloudInfo::startRingIndex(
        const std::vector<int32_t>& _startRingIndex)
{
    m_startRingIndex = _startRingIndex;
}

/*!
 * @brief This function moves the value in member startRingIndex
 * @param _startRingIndex New value to be moved in member startRingIndex
 */
void DDS_LidarCloudInfo::startRingIndex(
        std::vector<int32_t>&& _startRingIndex)
{
    m_startRingIndex = std::move(_startRingIndex);
}

/*!
 * @brief This function returns a constant reference to member startRingIndex
 * @return Constant reference to member startRingIndex
 */
const std::vector<int32_t>& DDS_LidarCloudInfo::startRingIndex() const
{
    return m_startRingIndex;
}

/*!
 * @brief This function returns a reference to member startRingIndex
 * @return Reference to member startRingIndex
 */
std::vector<int32_t>& DDS_LidarCloudInfo::startRingIndex()
{
    return m_startRingIndex;
}
/*!
 * @brief This function copies the value in member endRingIndex
 * @param _endRingIndex New value to be copied in member endRingIndex
 */
void DDS_LidarCloudInfo::endRingIndex(
        const std::vector<int32_t>& _endRingIndex)
{
    m_endRingIndex = _endRingIndex;
}

/*!
 * @brief This function moves the value in member endRingIndex
 * @param _endRingIndex New value to be moved in member endRingIndex
 */
void DDS_LidarCloudInfo::endRingIndex(
        std::vector<int32_t>&& _endRingIndex)
{
    m_endRingIndex = std::move(_endRingIndex);
}

/*!
 * @brief This function returns a constant reference to member endRingIndex
 * @return Constant reference to member endRingIndex
 */
const std::vector<int32_t>& DDS_LidarCloudInfo::endRingIndex() const
{
    return m_endRingIndex;
}

/*!
 * @brief This function returns a reference to member endRingIndex
 * @return Reference to member endRingIndex
 */
std::vector<int32_t>& DDS_LidarCloudInfo::endRingIndex()
{
    return m_endRingIndex;
}
/*!
 * @brief This function copies the value in member pointColInd
 * @param _pointColInd New value to be copied in member pointColInd
 */
void DDS_LidarCloudInfo::pointColInd(
        const std::vector<int32_t>& _pointColInd)
{
    m_pointColInd = _pointColInd;
}

/*!
 * @brief This function moves the value in member pointColInd
 * @param _pointColInd New value to be moved in member pointColInd
 */
void DDS_LidarCloudInfo::pointColInd(
        std::vector<int32_t>&& _pointColInd)
{
    m_pointColInd = std::move(_pointColInd);
}

/*!
 * @brief This function returns a constant reference to member pointColInd
 * @return Constant reference to member pointColInd
 */
const std::vector<int32_t>& DDS_LidarCloudInfo::pointColInd() const
{
    return m_pointColInd;
}

/*!
 * @brief This function returns a reference to member pointColInd
 * @return Reference to member pointColInd
 */
std::vector<int32_t>& DDS_LidarCloudInfo::pointColInd()
{
    return m_pointColInd;
}
/*!
 * @brief This function copies the value in member pointRange
 * @param _pointRange New value to be copied in member pointRange
 */
void DDS_LidarCloudInfo::pointRange(
        const std::vector<float>& _pointRange)
{
    m_pointRange = _pointRange;
}

/*!
 * @brief This function moves the value in member pointRange
 * @param _pointRange New value to be moved in member pointRange
 */
void DDS_LidarCloudInfo::pointRange(
        std::vector<float>&& _pointRange)
{
    m_pointRange = std::move(_pointRange);
}

/*!
 * @brief This function returns a constant reference to member pointRange
 * @return Constant reference to member pointRange
 */
const std::vector<float>& DDS_LidarCloudInfo::pointRange() const
{
    return m_pointRange;
}

/*!
 * @brief This function returns a reference to member pointRange
 * @return Reference to member pointRange
 */
std::vector<float>& DDS_LidarCloudInfo::pointRange()
{
    return m_pointRange;
}
/*!
 * @brief This function sets a value in member imuAvailable
 * @param _imuAvailable New value for member imuAvailable
 */
void DDS_LidarCloudInfo::imuAvailable(
        uint16_t _imuAvailable)
{
    m_imuAvailable = _imuAvailable;
}

/*!
 * @brief This function returns the value of member imuAvailable
 * @return Value of member imuAvailable
 */
uint16_t DDS_LidarCloudInfo::imuAvailable() const
{
    return m_imuAvailable;
}

/*!
 * @brief This function returns a reference to member imuAvailable
 * @return Reference to member imuAvailable
 */
uint16_t& DDS_LidarCloudInfo::imuAvailable()
{
    return m_imuAvailable;
}

/*!
 * @brief This function sets a value in member odomAvailable
 * @param _odomAvailable New value for member odomAvailable
 */
void DDS_LidarCloudInfo::odomAvailable(
        uint16_t _odomAvailable)
{
    m_odomAvailable = _odomAvailable;
}

/*!
 * @brief This function returns the value of member odomAvailable
 * @return Value of member odomAvailable
 */
uint16_t DDS_LidarCloudInfo::odomAvailable() const
{
    return m_odomAvailable;
}

/*!
 * @brief This function returns a reference to member odomAvailable
 * @return Reference to member odomAvailable
 */
uint16_t& DDS_LidarCloudInfo::odomAvailable()
{
    return m_odomAvailable;
}

/*!
 * @brief This function sets a value in member imuRollInit
 * @param _imuRollInit New value for member imuRollInit
 */
void DDS_LidarCloudInfo::imuRollInit(
        float _imuRollInit)
{
    m_imuRollInit = _imuRollInit;
}

/*!
 * @brief This function returns the value of member imuRollInit
 * @return Value of member imuRollInit
 */
float DDS_LidarCloudInfo::imuRollInit() const
{
    return m_imuRollInit;
}

/*!
 * @brief This function returns a reference to member imuRollInit
 * @return Reference to member imuRollInit
 */
float& DDS_LidarCloudInfo::imuRollInit()
{
    return m_imuRollInit;
}

/*!
 * @brief This function sets a value in member imuPitchInit
 * @param _imuPitchInit New value for member imuPitchInit
 */
void DDS_LidarCloudInfo::imuPitchInit(
        float _imuPitchInit)
{
    m_imuPitchInit = _imuPitchInit;
}

/*!
 * @brief This function returns the value of member imuPitchInit
 * @return Value of member imuPitchInit
 */
float DDS_LidarCloudInfo::imuPitchInit() const
{
    return m_imuPitchInit;
}

/*!
 * @brief This function returns a reference to member imuPitchInit
 * @return Reference to member imuPitchInit
 */
float& DDS_LidarCloudInfo::imuPitchInit()
{
    return m_imuPitchInit;
}

/*!
 * @brief This function sets a value in member imuYawInit
 * @param _imuYawInit New value for member imuYawInit
 */
void DDS_LidarCloudInfo::imuYawInit(
        float _imuYawInit)
{
    m_imuYawInit = _imuYawInit;
}

/*!
 * @brief This function returns the value of member imuYawInit
 * @return Value of member imuYawInit
 */
float DDS_LidarCloudInfo::imuYawInit() const
{
    return m_imuYawInit;
}

/*!
 * @brief This function returns a reference to member imuYawInit
 * @return Reference to member imuYawInit
 */
float& DDS_LidarCloudInfo::imuYawInit()
{
    return m_imuYawInit;
}

/*!
 * @brief This function sets a value in member initialGuessX
 * @param _initialGuessX New value for member initialGuessX
 */
void DDS_LidarCloudInfo::initialGuessX(
        float _initialGuessX)
{
    m_initialGuessX = _initialGuessX;
}

/*!
 * @brief This function returns the value of member initialGuessX
 * @return Value of member initialGuessX
 */
float DDS_LidarCloudInfo::initialGuessX() const
{
    return m_initialGuessX;
}

/*!
 * @brief This function returns a reference to member initialGuessX
 * @return Reference to member initialGuessX
 */
float& DDS_LidarCloudInfo::initialGuessX()
{
    return m_initialGuessX;
}

/*!
 * @brief This function sets a value in member initialGuessY
 * @param _initialGuessY New value for member initialGuessY
 */
void DDS_LidarCloudInfo::initialGuessY(
        float _initialGuessY)
{
    m_initialGuessY = _initialGuessY;
}

/*!
 * @brief This function returns the value of member initialGuessY
 * @return Value of member initialGuessY
 */
float DDS_LidarCloudInfo::initialGuessY() const
{
    return m_initialGuessY;
}

/*!
 * @brief This function returns a reference to member initialGuessY
 * @return Reference to member initialGuessY
 */
float& DDS_LidarCloudInfo::initialGuessY()
{
    return m_initialGuessY;
}

/*!
 * @brief This function sets a value in member initialGuessZ
 * @param _initialGuessZ New value for member initialGuessZ
 */
void DDS_LidarCloudInfo::initialGuessZ(
        float _initialGuessZ)
{
    m_initialGuessZ = _initialGuessZ;
}

/*!
 * @brief This function returns the value of member initialGuessZ
 * @return Value of member initialGuessZ
 */
float DDS_LidarCloudInfo::initialGuessZ() const
{
    return m_initialGuessZ;
}

/*!
 * @brief This function returns a reference to member initialGuessZ
 * @return Reference to member initialGuessZ
 */
float& DDS_LidarCloudInfo::initialGuessZ()
{
    return m_initialGuessZ;
}

/*!
 * @brief This function sets a value in member initialGuessRoll
 * @param _initialGuessRoll New value for member initialGuessRoll
 */
void DDS_LidarCloudInfo::initialGuessRoll(
        float _initialGuessRoll)
{
    m_initialGuessRoll = _initialGuessRoll;
}

/*!
 * @brief This function returns the value of member initialGuessRoll
 * @return Value of member initialGuessRoll
 */
float DDS_LidarCloudInfo::initialGuessRoll() const
{
    return m_initialGuessRoll;
}

/*!
 * @brief This function returns a reference to member initialGuessRoll
 * @return Reference to member initialGuessRoll
 */
float& DDS_LidarCloudInfo::initialGuessRoll()
{
    return m_initialGuessRoll;
}

/*!
 * @brief This function sets a value in member initialGuessPitch
 * @param _initialGuessPitch New value for member initialGuessPitch
 */
void DDS_LidarCloudInfo::initialGuessPitch(
        float _initialGuessPitch)
{
    m_initialGuessPitch = _initialGuessPitch;
}

/*!
 * @brief This function returns the value of member initialGuessPitch
 * @return Value of member initialGuessPitch
 */
float DDS_LidarCloudInfo::initialGuessPitch() const
{
    return m_initialGuessPitch;
}

/*!
 * @brief This function returns a reference to member initialGuessPitch
 * @return Reference to member initialGuessPitch
 */
float& DDS_LidarCloudInfo::initialGuessPitch()
{
    return m_initialGuessPitch;
}

/*!
 * @brief This function sets a value in member initialGuessYaw
 * @param _initialGuessYaw New value for member initialGuessYaw
 */
void DDS_LidarCloudInfo::initialGuessYaw(
        float _initialGuessYaw)
{
    m_initialGuessYaw = _initialGuessYaw;
}

/*!
 * @brief This function returns the value of member initialGuessYaw
 * @return Value of member initialGuessYaw
 */
float DDS_LidarCloudInfo::initialGuessYaw() const
{
    return m_initialGuessYaw;
}

/*!
 * @brief This function returns a reference to member initialGuessYaw
 * @return Reference to member initialGuessYaw
 */
float& DDS_LidarCloudInfo::initialGuessYaw()
{
    return m_initialGuessYaw;
}

/*!
 * @brief This function copies the value in member cloud_deskewed
 * @param _cloud_deskewed New value to be copied in member cloud_deskewed
 */
void DDS_LidarCloudInfo::cloud_deskewed(
        const DDS_LidarCloud& _cloud_deskewed)
{
    m_cloud_deskewed = _cloud_deskewed;
}

/*!
 * @brief This function moves the value in member cloud_deskewed
 * @param _cloud_deskewed New value to be moved in member cloud_deskewed
 */
void DDS_LidarCloudInfo::cloud_deskewed(
        DDS_LidarCloud&& _cloud_deskewed)
{
    m_cloud_deskewed = std::move(_cloud_deskewed);
}

/*!
 * @brief This function returns a constant reference to member cloud_deskewed
 * @return Constant reference to member cloud_deskewed
 */
const DDS_LidarCloud& DDS_LidarCloudInfo::cloud_deskewed() const
{
    return m_cloud_deskewed;
}

/*!
 * @brief This function returns a reference to member cloud_deskewed
 * @return Reference to member cloud_deskewed
 */
DDS_LidarCloud& DDS_LidarCloudInfo::cloud_deskewed()
{
    return m_cloud_deskewed;
}
/*!
 * @brief This function copies the value in member cloud_corner
 * @param _cloud_corner New value to be copied in member cloud_corner
 */
void DDS_LidarCloudInfo::cloud_corner(
        const DDS_LidarCloud& _cloud_corner)
{
    m_cloud_corner = _cloud_corner;
}

/*!
 * @brief This function moves the value in member cloud_corner
 * @param _cloud_corner New value to be moved in member cloud_corner
 */
void DDS_LidarCloudInfo::cloud_corner(
        DDS_LidarCloud&& _cloud_corner)
{
    m_cloud_corner = std::move(_cloud_corner);
}

/*!
 * @brief This function returns a constant reference to member cloud_corner
 * @return Constant reference to member cloud_corner
 */
const DDS_LidarCloud& DDS_LidarCloudInfo::cloud_corner() const
{
    return m_cloud_corner;
}

/*!
 * @brief This function returns a reference to member cloud_corner
 * @return Reference to member cloud_corner
 */
DDS_LidarCloud& DDS_LidarCloudInfo::cloud_corner()
{
    return m_cloud_corner;
}
/*!
 * @brief This function copies the value in member cloud_surface
 * @param _cloud_surface New value to be copied in member cloud_surface
 */
void DDS_LidarCloudInfo::cloud_surface(
        const DDS_LidarCloud& _cloud_surface)
{
    m_cloud_surface = _cloud_surface;
}

/*!
 * @brief This function moves the value in member cloud_surface
 * @param _cloud_surface New value to be moved in member cloud_surface
 */
void DDS_LidarCloudInfo::cloud_surface(
        DDS_LidarCloud&& _cloud_surface)
{
    m_cloud_surface = std::move(_cloud_surface);
}

/*!
 * @brief This function returns a constant reference to member cloud_surface
 * @return Constant reference to member cloud_surface
 */
const DDS_LidarCloud& DDS_LidarCloudInfo::cloud_surface() const
{
    return m_cloud_surface;
}

/*!
 * @brief This function returns a reference to member cloud_surface
 * @return Reference to member cloud_surface
 */
DDS_LidarCloud& DDS_LidarCloudInfo::cloud_surface()
{
    return m_cloud_surface;
}

size_t DDS_LidarCloudInfo::getKeyMaxCdrSerializedSize(
        size_t current_alignment)
{
    size_t current_align = current_alignment;






















    return current_align;
}

bool DDS_LidarCloudInfo::isKeyDefined()
{
    return false;
}

void DDS_LidarCloudInfo::serializeKey(
        eprosima::fastcdr::Cdr& scdr) const
{
    (void) scdr;
                       
}
